|
| 1 | +# Tic-Tac-Toe |
| 2 | + |
| 3 | + |
| 4 | +## Problem Statement |
| 5 | + |
| 6 | +During the summer between 3rd grade and 4th grade my parents sent me to "baseball camp." |
| 7 | + |
| 8 | +This was because despite playing baseball for three years at that point |
| 9 | +I had only hit the ball twice[^tball]. I was often put in the left outfield position |
| 10 | +where I would pick dandelions. Being literally "left out" made me sad |
| 11 | +but the whole display made my father proud. |
| 12 | + |
| 13 | +Instead of applying myself and learning how to play baseball I had a notebook |
| 14 | +where I wrote out all the different games of tic-tac-toe determined to "crack the code" |
| 15 | +and never lose again. I thought I was being so smart and, in my defense, so did the |
| 16 | +other children. A loser, yes - but smart. |
| 17 | + |
| 18 | +Even today when I go to dinner with my siblings or parents we ask for the kids' |
| 19 | +menu and crayons over 50% of the time. We then |
| 20 | +play at least one game of tic-tac-toe at the table of a nice Italian restraunt[^not]. |
| 21 | + |
| 22 | + |
| 23 | +## Your Goal |
| 24 | + |
| 25 | +Make a program that lets you play [tic-tac-toe](https://en.wikipedia.org/wiki/Tic-tac-toe) against the computer. |
| 26 | + |
| 27 | +Make sure that the player is not allowed to make invalid moves, that the computer |
| 28 | +does not make invalid moves, and that the game will not crash on unexpected |
| 29 | +input from the player. |
| 30 | + |
| 31 | +## Future Goals |
| 32 | + |
| 33 | +When you learn enough to do the following, come back to this project and expand it. |
| 34 | + |
| 35 | +* Implement a few different options for the AI including "pick a valid move at random". |
| 36 | +* Allow for setting up simulated matches between the different AIs |
| 37 | +* Expand the game to have the option to play "[ultimate tic-tac-toe](https://en.wikipedia.org/wiki/Ultimate_tic-tac-toe)."[^better] |
| 38 | +* Make the program have a graphical interface and let people click to make a move. |
| 39 | +* Allow for playing with other players over the internet. |
| 40 | + |
| 41 | + |
| 42 | + |
| 43 | + |
| 44 | +[^tball]: Tee Ball excluded. |
| 45 | + |
| 46 | +[^not]: I am not Italian. |
| 47 | + |
| 48 | +[^better]: Ultimate tic-tac-toe is actually a much better game. |
0 commit comments