# 1114 TTT Planning Document
## Preparation
* make a simple wireframe of the TTT website
* all of the html elements that will be needed for the game
* visually draw boxes out of the page layout
* simple mockup
* review phase
* look over lessons from this week that you need to reivew
* use the gitbook
* code you wrote in lecture or deliverables or labs
* do google around concepts
* Don't Panic!
* don't forgot your towel
## html
```htmlembedded=
<!-- your index.html -->
<!-- (optional) header or title for the game -->
<!-- grid of nine squares -->
<!-- three divs each with three divs in them (inner divs should display inline or inline block) -->
<!-- divs should be numbered -- this will correlate to the array indexes (this can be a number id) -->
<!-- some kind of display for messages to the user (whose turn it is, if someone won or its a tie game) -->
<!-- button for reset -->
```
## Css
```css=
/* styles.css */
/* just enough styling to setup the gameboard */
/* DO NOT DO ANY OTHER STYLING UNTIL THE GAME LOGIC IS FINISHED */
```
## Javascript
```javascript=
// we need to keep track of the gameboard in javascript
// a way to index squares -- that correlates to the arrays
// a way to make the x's and o's stick
// use an array to keep track of the x's and o's on the gameboard
// (option 1: 1d array) ['x', '', '', '', '', '', '', '', '']
// (option 2: trickier 2d array):
// [
// ['x', '', ''],
// ['o', 'x', ''],
// ['o', '', 'x']
// ]
// array[0][0] -- accessing a 2d array
// a way to alternate players
// a varaible that tracks whose turn it currently is -- this would start off as 'x'
// a varaible that tracks if the game is running or not
// let isRunning = true
// event listeners --clicking on the divs and making the x's or o's appear
// when a square is clicked, do the following:
// first check if that spot in the array is empty and that isRunning is true, if so, do the following:
// we make an x or o appear -- as simple as setting the inner text
// check if a win has occured
// check all 8 win cases for 'x' and for 'o'
// cats games could check if all spaces are filled (verbose) OR
// have a varaible that increments every turn and call a cats game at 9 if no body has won
// if the game is won or a cats game occurs -- set isRunning to false
// other ways to check out that might be good to end the game
// if game is won -- we could remove the gameboard from the DOM
// or you could fill up the array spaces
// delete a class to prevent listeners from firing
// alternate players if a win did not occur by changing the varaible that tracks whose turn it currently is
// increment the turn counter to move closer to the cats condition
```