Files
lab_tic_tac_toe/notes.md

1.6 KiB

Tic Tac Toe notes

Checkpoint 1 Notes

Which class is responsible for each of the following behaviors? For each, explain how the behavior is accomplished.

Checking to see whether the game is over

The game inspects the board for winning patterns (three identical non-empty marks in any row, column, or diagonal). It also checks whether there are any empty squares left — if there are none and there is no winner the result is a draw.

Determining which actions are available at a particular state

The function scans the board representation and returns the indices or coordinate pairs for empty cells. If the state is terminal it returns an empty list.

Showing the board

The view module provides formatting and printing utilities that convert the internal state into a nice 3x3 grid

Choosing which action to play on a turn

Scans the board for who went last; giving the next placement opportunity to the person who went before the move that was just played

Checkpoint 2 Notes

TTT Strategy

For each of the following board states, if you are playing as X and it's your turn, which action would you take? Why?

| O | O | | O | X | X | O |
---+---+--- ---+---+--- ---+---+--- ---+---+--- X | X | | X | X | O | O | |
---+---+--- ---+---+--- ---+---+--- ---+---+--- | | | | O | | | |

Initial game state

You can get the inital game state using game.get_initial_state(). What is the current and future reward for this state? What does this mean?