Complete the TicTacToe game we started in class. Specifically, add the following 2 missing aspects (both marked with //TODO in the code): is_draw(board) Determine if the board is in a draw state...


Complete the TicTacToe game we started in class. Specifically, add the following 2 missing aspects (both marked with //TODO in the code):




  • is_draw(board)



    • Determine if the board is in a draw state




  • is_win(board)



    • Determine if the board is in a diagonal win state

    • We already did the row and column checking.





Here is code that needs to be fixed:


def print_board(board):
for row in board:
print(row)


def get_selection():
user_input = int(input("Enter square number (1-9):\n"))
return user_input


def convert_selection(selection):
selection = selection - 1
row_index = selection // 3
col_index = selection % 3
return (row_index, col_index)


def place_mark(board, is_x_turn, position):
row, col = position
if is_x_turn:
marker = "X"
else:
marker = "O"


board[row][col] = marker


def is_win(board):
winner = None


for i in range(3):


if board[i][0] == board[i][1] == board[i][2] and board[i][0] != "_":
winner = board[i][0]
break


if board[0][i] == board[1][i] == board[2][i] and board[0][i] != "_":
winner = board[0][i]
break


if board[0][0] == board[1][1] == board[2][2] and board[1][1] != "_":
winner = board[1][1]




if winner is not None:
print_board(board)
print(f"{winner} is the winner!!!")
return True


return False


def is_draw(board):


for row in board:
if "_" in row:
return False


print_board(board)
print("Its a draw!")
return True


def main():
board = [ ["_", "_", "_"],
["_", "_", "_"],
["_", "_", "_"] ]


is_x_turn = True
is_game_over = False


while not is_game_over:
print_board(board)


selection = get_selection()
position = convert_selection(selection)
place_mark(board, is_x_turn, position)


is_game_over = is_win(board) or is_draw(board)
is_x_turn = not is_x_turn


if __name__ == "__main__":
main()




Code is in Python

Jun 09, 2022
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here