In order to practice what we have learned regarding OOP and best practices, let's implement a Tic-Tac-Toe (Gato in Spanish) game!
- Two players represented with X and O
- First time the game is played, X startsEach player alternate turns to put a mark in the board on any available slot
- The game ends when either one of the players matches three marks in a horizontal, vertical or diagonal row or there are no more moves available
- Once the game finishes, players are asked if they want to play again. If they do, the player who lost the previous match starts. In case of a draw, the player who did the second-to-last movement starts
- Will the logic have to change if I want to play on a N x N board instead of the original 3 x 3?
- Gem are supposed to be used by other programmers so they need to be well documented and tested
- Create the game logic
- Create the gem that contains that logic and verify that can be used correctly
- Create terminal interface
Create GUI interface (Shoes or Gosu) Create web app Create API