Question: can someone take a look at my code, i keep on getting errors, language is python class Game: board = [None] + list(range(1, 10)) board2=
can someone take a look at my code, i keep on getting errors, language is python
class Game: board = [None] + list(range(1, 10)) board2= ['.', '.','.','.','.','.','.','.','.'] WinCombo = [(1, 2, 3),(4, 5, 6),(7, 8, 9), (1, 4, 7),(2, 5, 8),(3, 6, 9), (1, 5, 9),(3, 5, 7), ]
def draw(board2): print(board2[0], board2[1], board2[2]) print(board2[3], board2[4], board2[5]) print(board2[6], board2[7], board2[8]) print()
def chooseCoordinatex(): while True: try: x = int(input('Enter x coordinate: ')) if x in [0,1,2]: return x else: print(" Invalid move. Try again") except ValueError: print(" That's not a number. Try again")
def chooseCoordinatey(x): while True: try: y = int(input('Enter y coordinate: ')) if y in [0,1,2]: a=3*x+y+1 if a in board: return a else: print(" Invalid move. Try again") x=chooseCoordinatex() else: print(" Invalid move. Try again") except ValueError: print(" That's not a number. Try again")
def gameOver(): for a, b, c in WinCombo: if board[a] == board[b] == board[c]: print("Player {0} wins! ".format(board[a])) return True if 9 == sum((pos == 'X' or pos == 'O') for pos in board): print("The game ends in a tie ") return True
for player in 'XO' * 9: draw() if gameOver(): break print("Player {0} play ".format(player)) x=chooseCoordinatex() a=chooseCoordinatey(x) board[a] = player board2[a-1] = player print()
while True: Game() if input("Play again (y/n) ") != "y": break
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
