首页 > > 详细

讲解EECE 1080C programming for ECE

EECE 1080C: programming for ECE
Summer 2022

Laboratory P: Computer Project

Project is due on Wednesday, 15 June 2022

Objective:
The goal of the project is to demonstrate mastery of C++ through the design and implementation of a multi-level interactive computer game.

Project Description:
For one or two players...
Players should navigate around a maze to complete an objective and advance through levels or maps of increasing difficulty
Players can work together to defeat obstacles (traps or npc) compete to find special items and powerups
Players should use keyboard controls to navigate around the maze toward a finishing spot (WASD or keys are preferred, or provide clear instructions)

Groups:
Students may work in teams with 2-3 members.
If students would like to organize a larger team (maximum of 5 members), they should contact Me by email outlining the project goals and responsibility for each member. A larger team should mean a more complex programming project, so that each member has equal contribution to its success.

Rubric (100 points):
See separate paper: EECE1080_Project_Solution for a description of grading criteria
The C++ source code should meet or exceed the following requirements
oUse the full range of C++ tools that have been discussed in this course
Create meaningful variable and function names
Use arrays, repeating blocks, and decision blocks
Maximize the use of global functions, namespaces, and object types
Use modular programming techniques
oOther C++ tools will be discuss each week, that provide options for enhancing the interactive experience
oAvoid using implementation found on the internet
These could be considered plagiarism and will affect you overall score.
If you do find something you want use in your code, make sure you understand how to use it fully and send me an email for permission to use – mainly I like to learn cool ways of doing things, and am interested in what you find
If these advanced implementations are difficult to use or generate a bug in your program. I and the teaching assistances will be unable to help with your project.
Use good programming practice

General Tips:
Take time to discuss and outline the features that you want to build into the game – a flowchart or list of features can help greatly when requesting help from Me or the teaching assistants
Decide who will design each object type, then bring them together in the main code

Compatibility:
The program should compile and run successfully on both Windows OS and Mac OS
Students should be mindful that the professor and teaching assistants may not have the same operating system.
Students should avoid using special features that they find on the internet. – if you don't how it works, don't use it – these special features are usually unique defined for one operating system or another. and will impact the overall score of your project.

Professor's Notes:
The outline on the next page can be used to begin each file in your project.
If you use a modular approach, a object prototype header (hpp) and object definition compiler (cpp), upload an instruction file for compiling
Multiple Object Header Files are advisable to make the project navigation better.



Object Header File
/***********************************************************\
Filename:
Project Name:
Developers:


About:
\***********************************************************/
#include //array utilities
#include //cctype tools
#include //mathematics library
#include //C-standard library
#include //cstring tools
#include //C time library
#include //IO manipulation library
#include //input/output library
#include //address utilities
#include //string class library
#include //vector class library
using namespace std;

#ifndef change_flag_name
#define change_flag_name

/* add object here */

#endif

Program Compiler File
/***********************************************************\
Filename:
Project Name:
Developers:


About:
\***********************************************************/

#include"Insert Header File Name";

int main() {

/* add code here */

return 0;
}

Execution File (.ps1, for modular programs only)
c++ -o output.exe mainProgramFile.cpp classOne.cpp

./output.exe

where
output.exe – name of output execution file
mainProgramFile.cpp – name of the file that contains int main
classOne.cpp – name of first object definition compiler file
more cpp files can be added to the list as needed


Sample Maze Layout

In the sample maze below, the hero (#) must sneak past the monster (M) and find its way from start (S) to a end (E)
Enter Direction (use wasd, arrow keys, or 0 to exit):

You may design your maze as you like; make it fun and interesting.

Player can select from multiple characters, each having a different skill set
During gameplay
Player can select the maze to play (0 through 9)
Player starts on a square of the maze
Player should be able to press the standard buttons to interact with the maze
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) (alternative: 0 or another key of your choice)
Limit the players ability to "walk" outside the maze boundary or pass through walls
The player’s goal is to get the character to the end space in the maze
Player should face bad guys and traps, or find hidden items as they wander through the maze

Concerning object types... you may need
A class to manage the attributes of each position on the maze – like traps, special items, and bad guys
An array of positions to represent the maze
A class to describe the general attributes of the hero
A derived class for each of the type of playable character
A class to describe special items
A class to describe npc (non-playable characters)

联系我们 - QQ: 99515681 微信:codinghelp
程序辅导网!