This document is for SEI1 Bahrain only.
If your Tic Tac Toe game was missing 3 or more of the following features, your project 1 will be to do a brand new Tic Tac Toe from scratch.
- X / O appears in square
- X / O Alternate
- Player turn shown
- Winner is detected
- Can Win on Last Turn
- No alerts()
- Reset Button Works (and doesn't use
.reload()
) - Can't click square twice
- Draw detected (only when a real tie)
- Can't click square after winner found
This is an opportunity for you to really level up your end result. After you have a basic game that meets the requirements above, pick 2 or more bonus features from the following list:
- Persistent score keeping
- Option to play against the computer (start by having the computer make random moves, then if you'd like you can try implementing MinMax so the computer beats the user)
- Make the board 4x4, or add a "hard mode" options that uses a 4x4 board.
- Add a timer for each turn and sound effects and/or animations.
Feel free to get really creative with styling and make it as fancy as you want but don't work on styling until all of your functionality is complete!!!!
Like hangman, but instead of drawing a stick figure in the gallows, you gradually build a snowman! (Feel free to choose another variation of this game if you don't like the snowman option.)
This will be user vs. computer, where the computer has randomly generated ship locations.
Hint: Start with single-cell ships. You can add different ship sizes later after the initial functionality is done.
(The card game.)
Persistent score-keeping is required. Consider adding other bonus features.
- Create a new git repository on Github (title can be the name of your project)
- Clone your project onto your computer.
- Create a
readme.md
file inside your project directory. Fill it with information about your plan. - Add, commit, and push your readme when ready.
- Slack instructors with a link to your repo so they can review your readme and approve your plan.
- A working game, built by you, hosted somewhere on the internet. You may not use a tutorial for this project. You may not reference any tutorial for this poject either.Do not click on, watch, or even think about a game tutorial.
- Your game must include instructions on how to play.
- A git repository hosted on Github, with a link to your hosted game, and frequent commits with good commit messages dating back to the very beginning of the project
- A
readme.md
file with explanations of the following:- a description of the app
- a link to the deployed live site
- the approach taken
- explanations of the technologies used
- wireframes
- a post-project reflection with any unsolved problems or growth areas you may have had
- any sources used
You will be asked to give a short presentation of your project at the end of the week. This presentatioh should include the following:
- a demo of your game
- an overview of your code structure
- a description of the biggest problem you had while developing the project and how you addressed the problem
- what would you do if you had more time?
This project will be graded on a Pass/Fail basis using the following criteria:
- it is deployed via github pages (we'll show you how to do this)
- Regular commits w/ good messages
Readme.md
included and filled out- Has directions - how to play
- Effort Put into Styling
- Game is playable
- Game is multiplayer (or AI or PVE)
- Game is winnable or losable Winner/score/loss is displayed (NO ALERTS)
- Reset button (no window reload)
- DRY Code, Good Code Style
- Good event triggers