Main game loop.
()
| 172 | |
| 173 | |
| 174 | def main() -> None: |
| 175 | """Main game loop.""" |
| 176 | introduction() |
| 177 | while True: |
| 178 | the_board: List[str] = [" "] * 10 |
| 179 | player_letter, computer_letter = input_player_letter() |
| 180 | turn = first_player() |
| 181 | print(f"{turn} goes first.") |
| 182 | game_is_playing = True |
| 183 | |
| 184 | while game_is_playing: |
| 185 | if turn.lower() == "player": |
| 186 | draw_board(the_board) |
| 187 | move = get_player_move(the_board) |
| 188 | make_move(the_board, player_letter, move) |
| 189 | |
| 190 | if is_winner(the_board, player_letter): |
| 191 | draw_board(the_board) |
| 192 | print("Hooray! You have won the game!") |
| 193 | game_is_playing = False |
| 194 | elif is_board_full(the_board): |
| 195 | draw_board(the_board) |
| 196 | print("The game is a tie!") |
| 197 | break |
| 198 | else: |
| 199 | turn = "computer" |
| 200 | else: |
| 201 | move = get_computer_move(the_board, computer_letter) |
| 202 | make_move(the_board, computer_letter, move) |
| 203 | |
| 204 | if is_winner(the_board, computer_letter): |
| 205 | draw_board(the_board) |
| 206 | print("Computer has won. You Lose.") |
| 207 | game_is_playing = False |
| 208 | elif is_board_full(the_board): |
| 209 | draw_board(the_board) |
| 210 | print("The game is a tie!") |
| 211 | break |
| 212 | else: |
| 213 | turn = "player" |
| 214 | |
| 215 | if not play_again(): |
| 216 | break |
| 217 | |
| 218 | |
| 219 | if __name__ == "__main__": |
no test coverage detected