Build a two-player Tic-Tac-Toe game, and use a loop to keep the game running until a player wins or the board is full. Use if statements to check for win conditions and to validate player moves.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Build a two-player Tic-Tac-Toe game, and use a loop to keep the game running until a player wins or the board is full. Use if statements to check for win conditions and to validate player moves.

Expert Solution
Step 1: Algorithm to use :

Inside initialisze_board method :

  • Create a matrix of size 3 * 3 and return it

Inside the print_board function :

  • Create a 2-D board with the help of | and _ symbols

Inside the check_win function :

  • If any row, column or diagonal has all three matching characters and are not equal to empty space, return True
  • else return False

Inside the check_draw function :

  • If there is any empty space on the board, return True
  • Else the board has empty places which shows that there are still chances to be played

Inside the main function :

  • Create a empty board with the initialise board function
  • Create a list of two players 'X' and 'O' 
  • Initialise a variable turn as 0
  • Inside an infinite loop :
    • Call the print_board function with the initialised board
    • Input the row and column number for first players turn which is initialised by the turn variable
    • If the move is valid :
      • make a entry at that spot in the board
      • call the check_win function with board as variable, if true is returned, print that current player wins
      • else call the check_draw function and if true is returned, print that match is draw
      • change the turn
    • else print that the move is invalid.

Call the main function

steps

Step by step

Solved in 4 steps with 2 images

Blurred answer
Knowledge Booster
Time complexity
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education