EECE 1080C讲解、辅导Programming、C++程序设计调试、C++语言辅导

- 首页 >> Java编程
EECE 1080C / Programming for ECE
Summer 2020
Computer Project

Project is due on Tuesday, 30 June!

Topics covered:
Project 1 – Interactive Game

Objective:
The goal of this project is to demonstrate basic mastery of the design, creation, and implementation of a moderately-sized C++ Project.
To demonstrate OOP programming in the construction of a multi-level in game.
The main goals of this laboratory are as follows:
oWork in groups of 2 to develop an interactive computer game.
oDemonstrate your understanding of C++
Submit your files on Canvas using the submission Link. Include all .hpp, .cpp, and .exe files

Game Description
Player should navigate around a maze to complete an objective and advance through 10 mazes of increasing difficulty.
There needs to be obstacles: bad guys, traps, etc.
The maze will be printed to the terminal as a hidden map and revealed as the player moves around to find the end point
The player can move around using w-a-s-d or up-down-left-right

Rubric: 100 points
Computer Project (100)



Timeline:
Initial summary and design: 17 June: 15 points
Discuss with your partner the details that you would like to include in your game
And submit the following:
1.A code diagram of int main() to show how you would like the game to work. Include as much detail as possible!
2.A list of structures and functions that you will be using in the game
3.A code diagram of each major function required for smooth game play
Status report: 24 June: 10 points
Prepare a short summary of your progress and submit the following:
1.A 1/2 – page written summary of your progress with the project
2.A list of the modifications you have made to your initial design
Final Project submission: 30 June: 75 points
1.Submit the .hpp, .cpp, and .exe files for the completed code.
2.Include a ½-page guide with instructions about the game objective and interface



Interactive RPG-dungeon game:
General Tips
1.Choose your partner
2.Take time to discuss the features that you want to build into the game
oYou will be building your code using classes and structures, putting each piece in header files
oDecide who will design each piece, then bring the pieces together in the main code.
3.The C++ source code should meet or exceed the following requirements
oUse C++ best practices when possible
Use meaningful variable and function names
Maximize the use of functions and class/struct data types
Most of the gameplay should be completed using struct object functions
oFollow all coding style and comment guidelines
oComplete the following program header:
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\
|Project Title: Program Name |
| About Game: |
| |
| How-to-play: |
| |
| Developers: |
| Name 1 - CQU Number |
| Name 2 - CQU Number |
| |
| Special Instructions: (optional) |
| Include special instructions to compile and run |
| |
\* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */


A.Minimum Coding Requirements
As a programmer, you are free to use any method to interact with the player. Consider displaying game information (a descriptive menu and board graphic.) Note: use #include then put system("CLS"); on a line in your program to clear the terminal screen.
Player can select from three characters
Player can select board size: 10 by 10 minimum
oPlaying field may increase in size with each level
You will progress the player through 10 mazes of game play (0 – 9)
For each level:
Characters starts in a random place in the maze
Player should be able to enter
ow – to go up (up arrow)
oa – to go left (left arrow)
os – to go down (down arrow)
od – to go right (right arrow)
oq – to quit (esc key)
Handle the option to move outside the maze
The player’s goal is to get the character to the winning objective
oPlayer will fight bad guys and collect power-ups along the way.
Playing field struct/class: should be randomly filled with bad guys, power-ups, and the winning location. I suggest using the following table for population
Level char 0 1 2 3 4 5 6 7 8 9
# of Winning space W 1 1 1 1 1 1 1 1 1 1
# of Map Reveal space M 0 1 1 1 1 1 1 1 1 1
# of Atk-Up space A 0 1 2 3 4 5 6 7 8 9
# of Def-Up space D 0 1 2 3 4 5 6 7 8 9
# of bad-guy space 1,2,3,4,5 0 5 10 15 20 25 30 35 40 45
Board Size *, X, 0 10x10 10x10 10x10 10x10 10x10 10x10 10x10 10x10 10x10 10x10
oLegend: using a construction similar to the rectangle frame program we created, you can display the game board
W = winning space
A = attack boost (+1)
D = defense boost (+5)
M = map reveal treasure – shows the legend on the map instead of * and X
1,2,3,4,5 = level of bad guy occupying the square
* = unexplored space on playing field
X = explored space on playing field
0 = space where the character is
oHint: store two 2D arrays. The first will have the map with just * ,0, X. The second will show all the other characters.
oBasic struct/class functions you will need
print gameboard – revealed or hidden (public)
execute action – based on what is hidden in the square moved to (public)
(private) fighting bad guys routine (attack first, take damage hp, repeat until victory or death)
output back to main program a mechanism to advance to next level (function return bool)
output back to main program if the character is dead (public class variable bool)
Character class/struct: should be selected by the player. I suggest the following basic options
Good Guy Attack HP
Good Guy (1) 1 30
Good Guy (2) 2 20
Good Guy (3) 3 10
oCharacter would be a struct used inside of the playing field class and will have 3 options; the variable will be initialized, based on the player’s selection
oCharacter attack firsts, then takes damage – repeat until character defeats the bad guy.
ooptional: add on the weaponClass
Bad Guys struct: Player should fight bad guys of different levels. I suggest, creating bad guys using the following distribution (all in percent) – Take the percentage of bad guys from the playing field table and multiply it by the percentage distribution of bad guys.
Level 0 1 2 3 4 5 6 7 8 9
Bad Guy (0) 0 100 95 85 70 50 30 10 0 0
Bad Guy (1) 0 0 5 10 15 20 25 30 25 20
Bad Guy (2) 0 0 0 5 10 15 20 25 30 25
Bad Guy (3) 0 0 0 0 5 10 15 20 25 30
Bad Guy (4) 0 0 0 0 0 5 10 15 20 25
Bad Guys would be a struct used inside of the playing field class and will have 5 elements
Bad Guy Attack Power HP
Bad Guy (0) 1 1
Bad Guy (1) 2 2
Bad Guy (2) 3 3
Bad Guy (3) 4 4
Bad Guy (4) 5 5

站长地图