game run
unknown
plain_text
2 years ago
1.5 kB
8
Indexable
import random
import time
class Game:
def __init__(self):
self.reset()
def reset(self):
self.board = [' '] * 9
self.current_player = 'X'
self.winner = None
def print_board(self):
print("\n".join(map(str, self.board[i*3:(i+1)*3] for i in range(3))))
def play(self, move):
if self.winner or self.board[move] != ' ':
return False
self.board[move] = self.current_player
self.check_winner()
self.current_player = 'O' if self.current_player == 'X' else 'X'
return True
def check_winner(self):
for i in range(3):
if self.board[i*3] == self.board[i*3+1] == self.board[i*3+2] != ' ':
self.winner = self.board[i*3]
for i in range(3):
if self.board[i] == self.board[i+3] == self.board[i+6] != ' ':
self.winner = self.board[i]
if self.board[0] == self.board[4] == self.board[8] != ' ':
self.winner = self.board[0]
if self.board[2] == self.board[4] == self.board[6] != ' ':
self.winner = self.board[2]
def main():
game = Game()
while not game.winner:
game.print_board()
move = input(f"{game.current_player}'s turn. Choose a spot (1-9): ")
if game.play(int(move) - 1):
print(f"{game.current_player} placed at {move}.")
if game.winner:
game.print_board()
print(f"Editor is loading...
Leave a Comment