联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp

您当前位置:首页 >> C/C++编程C/C++编程

日期:2022-05-27 12:28

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:       <insert Name>

 Project Name:   <insert Name>

 Developers:     <insert Name> <insert CQU#>

                 <insert Name> <insert CQU#>

                 <insert Name> <insert CQU#>

 About:          <insert Header Description>

\***********************************************************/

#include <algorithm> //array utilities

#include <cctype>    //cctype tools

#include <cmath>     //mathematics library

#include <cstdlib>   //C-standard library

#include <cstring>   //cstring tools

#include <ctime>     //C time library

#include <iomanip>   //IO manipulation library

#include <iostream>  //input/output library

#include <iterator>  //address utilities

#include <string>    //string class library

#include <vector>    //vector class library

using namespace std;


#ifndef change_flag_name

#define change_flag_name


/* add object here */


#endif


Program Compiler File

/***********************************************************\

 Filename:       <insert Name>

 Project Name:   <insert Name>

 Developers:     <insert Name> <insert CQU#>

                 <insert Name> <insert CQU#>

                 <insert Name> <insert CQU#>

 About:          <insert Header Description>

\***********************************************************/


#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)


版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp