Skip to content

Latest commit

 

History

History
106 lines (67 loc) · 4.3 KB

File metadata and controls

106 lines (67 loc) · 4.3 KB

Project #1: The Game

Overview of connect four

The game

Connect Four is a two-player adventure of mystery, mayhem, and intrigue. It's probably a thing in your universe, but feel free to read up on it if you have to.

Project Details

Necessary features

A basic implementation of this project must include:

  1. An interactive board which renders on page load
  2. A way for players to set their name
  3. A way for players to mark an empty space on their turn
  4. The game should end when there is a winner, or if the game is a tie
  5. The game should report the end state

Additionally you should use CSS to ensure a reasonable amount of styling to keep your project presentable.

Advanced features

Going above and beyond the basic implementation is desirable, should you have the time. Feel free to enhance your project with any of the following features:

  1. A button on game over to reset the game back to initial state
  2. A way to keep track of Player 1 vs. Player 2 wins
  • An option to play vs. a computer with AI
    • Level 1: Random empty space is good enough
    • Level 2: Computer chooses a space which immediately blocks a player win

Implementation

Technologies

You will be expected to use the following technologies to implement this project:

  • HTML
    Your HTML should be semantic.

  • CSS & [Some Framew.ork]
    Your game should be stylish.

  • JavaScript & jQuery
    Your game should be playable and responsive.

Timeframe

The timeframe for this project is approximately 3 continuous days of class time and two weekend days.

Expectations

You

As a student you should be doing the following things:

  • Wireframes Create wireframes in advance for your application to prevent surprises as you develop it.

  • Version Control
    Use git and github for version control, and make frequent incremental commits to prevent large scale implosions.

  • Hosting
    Host your application on githubpages, or something similar so the class and instructors can use it.

Us

Since your instructors will be assessing your work, they will look for the following things:

  • Project Workflow
    Did you complete the user stories, wireframes, task tracking, and/or ERDs, as specified above? Did you use source control as expected for the phase of the program you’re in (detailed above)?

  • Technical Requirements
    Did you deliver a project that met all the technical requirements? Given what the class has covered so far, did you build something that was reasonably complex?

  • Creativity
    Did you add a personal spin or creative element into your project submission? Did you deliver something of value to the end user (not just a login button and an index page)?

  • Code Quality
    Did you follow code style guidance and best practices covered in class, such as spacing, modularity, and semantic naming? Did you comment your code as your instructors have in class?

  • Problem Solving
    Are you able to defend why you implemented your solution in a certain way? Can you demonstrate that you thought through alternative implementations? (Note that this part of your feedback evaluation will take place during your one-on-one code review with your instructors, after you've completed the project.)

Deliverables

By the time the project is over, we will expect the following from you:

  • A working game, built by you, hosted somewhere on the internet
  • A link to your hosted working app in the URL section of your Github repo
  • A git repository hosted on Github, with a link to your hosted project, and frequent commits dating back to the very beginning of the project
  • A readme.md file with explanations of the technologies used, the approach taken, installation instructions, unsolved problems, etc.
  • Wireframes of your app (at least one)
  • A link in your readme.md to the user stories you created

Most importantly a technical demonstration of your app which:

  • Is 5 minutes in length
  • Shows off all features of the app
  • Explains the technical details
  • Explains the technical challenges
  • Explains which improvements you might make