联系方式

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

您当前位置:首页 >> Matlab编程Matlab编程

日期:2024-12-11 10:05

ENG 06 Final Project

Up to now in ENG6, we have focused on teaching you the “how” of programming. In the team

project you will be taking your own ideas and bringing them to fruition through your knowledge

of computer programming. Software development is rarely a one-person effort, so the project

will be team-based. Teams can be formed with members of any section. You can form your own

team of three. No other team size will be allowed. Only if strictly needed, the TAs may form

smaller teams or add members to teams. Beyond the Core part of the final project, we ask you

to implement a number of special features, called Reach elements, so as to make your project

different from your classmates.

Important: We discourage the use of other Matlab code written by someone else, however, if

you use it you must reference the code creator.

Project: Card Game

Project Description: Implement a MATLAB program of a card game of your team’s choice.

You may create your own rules. The card game must involve more than two players. The

players should be able to make strategic decisions to win the game. The program should draw

cards upon request, apply the rules, and score the game. Each team makes decisions on what

programming elements to use to interact with the users. Special attention should be paid to:

1. Clarity on how to play the game.

2. How the users should interact with the program.

3. The visual, auditory cues and special effects (e.g. animations, a sound clip when the

cards are drawn, etc.). You are allowed to use simple pictorial representations for each

card, for example a King of hearts card with a large K and a heart, etc.

4. The users should be able to play the game with each other over the internet.

The implementation of the card game should involve two players at different locations using a

keyboard or a mouse to play their turn. All projects should have the following elements:

1. A graphical user interface.

2. An animation.

3. A sound effect.

4. Make use of a user-defined OOP class in at least one programming element.

5. One or more tables.

6. The capability to play the game between two, or more, players remotely.

7. Clearly indicate in your code and your video where these elements are

implemented. In your YouTube video, please point out how you implemented some

features (especially in the Core and the Reach) inside your code. What functions did

you use? Did you use any data structures such as structs etc? What was challenging

about implementing a certain feature and why?

Links to external resources:

· Controlling Random Number Generation.

· Play Audio

Collaboration Policy: Once the teams are formed you are only allowed to talk and collaborate

with members within your team. Team members are expected to equally participate, and

collaboratively work towards the completion of the project. Other than contacting the teaching

assistants for clarification, you may not seek the assistance of other persons to complete your

team's project. (Of course, general discussions about how to implement a GUI, OOP, and other

programming constructs could be discussed with other students, but your team must be totally

responsible for the implementation of code used in your project).

Grading Criteria: The projects are open ended. As long as your program can perform the

assigned tasks, there will be no correct or incorrect approaches. Certainly there will be more

acceptable and attractive solutions, and these will be judged in comparison with competing

solutions submitted by your classmates. The final project will be graded in 6 parts:

1. Project proposal: Each team submits a 2-3 page project proposal via Canvas

describing the project they have selected, a general description of how they will implement

the main components of their project, and a clear description of the Reach features that their

team proposes. Essentially, the scope of the project should be both challenging enough to

merit full credit and doable within the timeline. An Appendix should contain a breakdown of

programming tasks, and who will be responsible for what, along with a timeline that will

meet the submission deadline (we suggest you make use of a Gantt chart.. The expectation is that each team member must take responsibility for a specific aspect of the project and

grading for each member will be adjusted according to how the project tasks were delegated

and who was responsible for what aspects of the project. The more specific you can be in

defining the programming tasks, what functions should exist, and what each function should

accomplish, the better.

2. Core: Complete the basic project as outlined in the project description.

For example: Show whose turn it is to play, an image background such as a green table, an

image showing the card draw outcome, the scores, etc

● Features of the GUI:

○ A button to shuffle and draw a card

○ A button to play a card.

○ Display scores edit fields

○ Anything else you need or want to add depending on the game you have

chosen.

3. Reach/Special Features: Implement the project enhancements described in your

proposal. Your completion of the Core and the creativity of your proposal will be taken into

account during the grading process.

● Animations

○ Drawing a card

○ Play a card

○ A scoring system

○ Others

● Sound

○ Shuffling card

○ Playing a card

○ A scoring system

○ Others

4. Additional Core Requirement: Remote players and Tables with ThingSpeak:

● The GUI interface must include a table keeping a record of the rolls for each

player throughout the game.

● The capability to play the game between two, or more, players remotely.

5. Youtube Video Requirements: Youtube has several examples of ENG6 videos (search

ENG6). The format of the video is entirely up to your team as long as the following criteria

are met:

A. The maximum length of the video is 10 minutes B. Each team member must be seen in the video to present their work and

contributions

C. A clear and easy to follow demonstration that shows the correct functionality

of your program (show your program actually working in the video – not screen

shots of before and after.)

D. Use visual aides to help explain your steps (whiteboard, markers,

poster, etc.). The video does not have to be fancy, just effective in relaying

the most important information.

6. Team Evaluations: Each member must provide a brief personal summary of her/his

involvement and contributions. Each team member is required to submit evaluations of

her/his teammates’ contribution, one for each of Core and Reach. For example, if your team

has members A, B, C, your evaluation can be similar to the following for a single member.

Team Member A: was in charge of writing the code to execute the equalizer filters. For the

Reach, A was in charge of adding 2 different analysis plots that could show power spectral

density plot and frequency content of audio file. Team Members B, C agree that A performed

these tasks for the project.

Project Deadlines:

Deadline #1: TBA: Submit the Project Proposal: A team member must submit the project

proposal. The proposal needs to include project name and names of all team members at the

beginning. Only one team member should do this!

The submission should also contain an image of the design view with the main components of

your game. The image must show the buttons, axes, images, edit fields, etc.

Deadline #2: TBA: Submit the Core. Each team will submit all relevant code files. Each team

will submit a zip file of all the code, the zip file will have the mlapp. and all .m files, all .img files

and any other files that are needed for the game to run.

The submitted .mlapp GUI must allow the game to be played by one or two players using the

same keyboard.

Note: The UI components for the remote player locations and tables can be avoided in this

stage.

Deadline #3: TBA: Submit the Final Project. The final project must include the Additional

Core Requirements and the Reach/Special features: Implement tables, remote locations and

the project extensions described in your proposal. Each team will submit all relevant coding files, a link to Youtube video and team evaluation

materials. Each team will submit a zip file of all the code, the zip file will have all .mlapp files, all

.img files and any other files that are needed for the game to run. In addition, it should contain a

PDF of the team evaluation document. The link of the Youtube should be accessible to all those

who use the link.

Figure 1: Example of a design view: Crazy Eights card game.


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

python代写
微信客服:codinghelp