CIS 3309 Game Project

This project will give you experience applying all the skills you learned in class to build a complex software system using component-based software design principles. This project is also an exercise in team programming where you will form a team of 2 to complete the project. Your team needs to choose a game from the provided list, and send me an email with a list of 2 games (in order of preference) your team would like to do for the project. The game selection is on a first-come/first-served basis. You need to provide documentation for your project, and have the documents reviewed by me before you can begin implementing the game. You will not be able to fully implement the game until we finish discussing databases in lecture, but you can still begin the project without using a database.

Game List:
Are you smarter than a 5th grader?

Bingo
BlackJack

Concentation (Memory game)

ConnectFour

Deal or No Deal

Minesweeper (easy version)

Monopoly

Slot Machine

War card game

Who wants to be a millionaire?


Requirements:

You need to create a multi-form application that allows a single player to play against the computer or another human player depending on the game you choose. The program must store all relevant game statistics for each player of the game in a database, and it should keep track of all the players of the game. The program should use the information from the database to display either the highest scores, wins / loses, or other relevant game statistics on a separate form. Your program needs to display the instructions on how to play the game.

·  The program should have a main screen that allows the user to choose the game type (1 player or 2 players)

·  You need to provide navigation between your forms.

·  Provide instructions to the user on how to play the game and how to use the application in a separate form.

·  The program should provide game statistics on a separate form.

·  The game should make choices randomly where needed

o  Example: choosing cards, rolling the dice, making a move for the computer, ...

·  The program should use images to make the game more attractive.

o  Example: show the images for the outcome of rolling the dice, show the images of the card, etc…

·  The program must use error handling and validate user input.

·  You need to create classes to model the important elements of the system to demonstrate component-based design.

o  The game should be implemented a class that manages all the elements of the game including the players, statistics, and the behavior of the game.

Grading:
I will evaluate the program based on the documentation (planning phase), the implementation of the game, and how well you implemented reusable component-based code. You need to make all the elements of the program reusable components with exception of the GUI. I will also grade you on how well you worked as a team. Each member of the group is responsible for an equal amount of work designing and coding the system.

Due:
Monday, April 30th (before 11:30pm)

Submission:

You need to zip the root folder for your solution into a single zip file and submit the assignment in Blackboard. To submit the assignment, you need to click the Project’s Title “Game Project” to view the submission form and upload the file. Note: Only one person in your team needs to submit the project.

Make sure you properly submit your assignment and that it works. Programs that don’t run or don’t contain all the necessary files will not be graded and marked late.

Please be sure to save your work periodically as you proceed and also back it up. You may want to store it on your flash drive. If you are going to zip an application in order to store it, BE SURE TO FIRST CLOSE Visual Studio. If you do store information on your flash drive be sure to copy it to a hard drive on your computer before working with the project.