---
# System prepended metadata

title: 808 TTT Plaaning Document

---

# 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
```