Final Project Instructions - Takkiz/groupproj GitHub Wiki
Final Project: Dungeons without Dragons, RPG
You are in charge of creating a new game called “Dungeons without Dragons”! The goal of Dungeons without Dragons is to create a simple role playing game!
Project description:
Your program must provide the following functionality:
● A base Character class, which is inherited by a Player class and NPC class. The player must have a health bar which can take damage. If the player’s health reaches 0, they must die (the game is lost). This means there needs to be variables for max health and current health. The player must be able to level up as well. Once they level up, they may receive the key to get out of the dungeon (receiving the key-- AKA winning the game-- is randomized).
● The player starts off with a weapon that deals 20 damage.
● Players get 10 points per successful Monster encounter (AKA they kill the Monster). At increasing intervals (ex. 25, 50, 75, 100 pts), your character will level up and have the option to increase their max health or the damage their weapon deals.
● NPCs will also have a max health and a weapon, but they must not be able to die like the player can. NPC’s will be created at randomized intervals to join your party-- and they will leave your party when their health reaches 0.
● A Monster class - the enemies that the player will fight. Their max health will be up to you. Monsters will be created at random intervals and attack random members of your party until you have defeated them. Mechanics of the fight between your player/NPC’s and Monsters are up to you. Turn-based fights are recommended (You choose a member of your party to attack, then the Monster attacks, then it’s your turn again).
● Additionally, the program should allow the player to quit the game and save its current status using file I/O. The file will be later used to reload the game and continue to play. The format of the file that is used to store this status information is up to you.
Mandatory Criteria:
● (80 points)
○ Classes implemented ○ Inheritance used for characters ○ Use randomization for NPC’s joining your party, monster creation/attacks, whether or not your Character gets a key upon leveling up ○ If not using a GUI, you must use the console. There needs to be a menu and the console should provide information such as “You have been attacked by a Monster”, “You have leveled up”, or “You have reached 0 health. Game over!” ○ Programs without any classes and are solely using switch statements will receive a 50% penalty. ○ Must use file I/O; (programs with no file I/O will receive a 20% penalty).
● (20 points)
○ A one page paper describing how your ‘story’ was implemented, the characters, NPCs, and monsters. Also include each team member’s name and what they contributed to the project.
Bonus Points:
● (up to 5 points) If polymorphism is used
● (up to 10 points) If a visual representation of the dungeon and movement is provided
Submission:
● 1-2 page report explaining how the program was designed, what classes were used, etc, and the instructions to operate the program and play the game. The report should also include the name of the group members with a highlight of their contributions. A group can include up to 3 people.
● Source code.
● Create a zip file and submit via Blackboard. Only one submission for group is required. Contact the TA for having the group set up in Blackboard.
● After the submission, we reserve the right to contact one or more group member and ask questions about the program. Failing to answer a question about your submission will result in a reduction of your final score.