# 808 TTT Plaaning Document
```htmlembedded=
<!-- in your index.html -->
<!-- html boilerplate -- linking css and js -->
<!-- header ot name the game -->
<!-- GAME BOARD: three divs for the game board, in each div you need three more more divs -->
<!-- button for reset -->
<!-- an area to display messages to the user such us whose turn it is and who the winner winner is, and if there is a cats game -->
```
```css=
/* styles.css */
/* DO NOT DO ANY EXTRA CSS UNTIL YOU ARE FINISHED WITH THE GAME */
/* enough css to align/make the gameboard */
```
```javascript=
// APP STATE (variables)
// a variable to track whose turn it is
// a var for 'x' and a var for 'o'
// a var to keep count of moves to detect cats/draw game
// gameBoard array to keep track of player moves ['x', '', 'o', 'x', '', 'o', 'x', '', '']
// 2d array
// [
// ['x', '', 'o'],
// ['x', 'o', ''],
// ['x', '', 'o']
// ]
// a boolean for if the game is over or not -- is the game currently happening?
// EVENT LISTENERS
// click event listener(s) for player clicks
// change innertext of div to X or O
// store the player's move in the gameBoard array
// change to the next player's turn
// check for a win -- calling a win condition function/doing all the win logic
// click event to clear/reset the board
// some way to tell if a player has already clicked on a square
// win/tie game logic in functions
// option: detect a win using conditionals and comparisions
// option hard mode: store all winning conditions and use loops to compare them to the gameBoard array
// if the game is won, display the winner and prevent the users from clicking more
// if it is a cats game, display that and prevent clicks
```