Assignment X - Game Project

Due: Fri, Dec 8 (FINAL ABSOLUTE DEADLINE -- no lates)

Objective

Programming in Java involves not only understanding the syntactic rules and constructs of the language, but also the ability to research the libraries that are needed for a task, as well as organizing good object-oriented design. The Java API is very large and has many pre-built features. After this assignment, you will have some experience looking into existing Java libraries and designing a small program using object-oriented techniques.

Task

For this assignment, you will design and implement a game in Java. This project is to be done in teams of 2 people each. You may choose your own partner. Each partner should keep a log of their own contributions to the project. The final deliverables will be due at the end of the term.

Details

  1. You may choose from a variety of board games or 1-player solo games listed here. Each of these has been deemed at an appropriate level for this project.
     
  2. The minimum requirement is to write a game with a graphic interface as a Java application, which can be played by 1 or more human players on the computer. It should have an intuitive and usable interface, and it should implement the standard set of rules for your chosen game. In the event that you have a game with some rule variations, you should include information in your README file (described below) that clarifies what version of the rules you are implementing.
     
  3. General Guidelines for Grading: Since you have the freedom to implement the design, grading for this project will be somewhat subjective. However, here are some guidelines I will be using:
     
  4. Guidelines for researching resources
     
  5. Extra Credit Opportunities -- I'm leaving this wide open. There will be plenty of chances to earn extra credit on this assignment. Anything above and beyond the minimum requirements can be done for extra credit. Be sure to list anything extra you do in your README file, so I know to look for it. Here are just a few possible things you could try, just to give you some ideas (but certainly not limited to these):
     

Resources


Deliverables:

You should pack all relevant files for your program into one jar file (named hwx.jar). The jar file should contain: Your jar file should also be runnable. This means that if you wrote it as an application, I should be able to play your game with the command:
  java -jar hwx.jar
Possible exception: If you happen to do anything that involves multiple programs (like a client/server implementation), then you can pack those as separate runnable jar files, then put those into the main archive. Make sure any such details are noted in your README.

To make sure everybody is pulling their weight, and to keep track of the breakdown of work, each partner needs to keep an individual log of their own contributions to the project.

Submit your assignment via the Canvas submission links. Only ONE student in the group needs include the jar file at their Canvas submission link (but do make sure both names of group members are included in your submission's README file). However each partner should individually submit their own log file of contributions/work performed to their own Canvas submission link.
Example:

Remember to INCLUDE YOUR SOURCE CODE in your jar file!