Players take turns placing tokens ('X' and 'O') on the board.
When a token is placed, it pushes adjacent tokens one square away, unless blocked by another token. Tokens on the edge of the board will be bumped off the board.
The first player to have three adjacent tokens horizontally, vertically, or diagonally wins!
Choose whether to play against an AI or human opponent (AI code courtesy of Simon):