Skip to content

Latest commit

 

History

History
107 lines (75 loc) · 3.87 KB

bh-project1.md

File metadata and controls

107 lines (75 loc) · 3.87 KB

Project 1: Front-End Game

This document is for SEI1 Bahrain only.


Option 1: Tic Tac Toe

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!!!!


Option 2: Connect Four


Option 3: Snowman

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.)


Option 4: Battleship

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.


Option 5: War

(The card game.)

Persistent score-keeping is required. Consider adding other bonus features.


Getting Started

  • 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.

Deliverables (Requirements)

  • 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

Project Evaluation

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