PA9

CptS 122 – Data Structures
Programming Assignment 9: A Graphical Game or Application
Assigned: Wednesday, April 12, 2023
Due: Wednesday, April 26, 2023 by midnight
I. Learner Objectives:
At the conclusion of this programming assignment, participants should be able to: Design, implement and test classes in C++
Apply game or application design principles
Implement and apply inheritance and polymorphism
Apply graphics to a solution
II. Prerequisites:
Before starting this programming assignment, participants should be able to: Analyze a basic set of requirements for a problem
Compose basic C++ language programs
Describe what is inheritance
Create basic test cases for a program
Apply arrays, strings, and pointers
Declare and define constructors
Declare and define destructors
Compare and contrast public and private access specifiers in C++ Describe what is an attribute or data member of a class
Describe what is a method of a class
Apply and implement overloaded functions
Distinguish between pass-by-value and pass-by-reference Discuss classes versus objects
III. Overview & Requirements:
NOTE: I will be grading your assignment! Please be sure to clearly identify your team members and corresponding lab sections in a readme.txt file that is added to your “Resource Files” folder in your project. Also, be sure to add the link to your video demo in the readme.txt file. Only one of your team members will be required to submit a solution!!! Since some of your solutions may exceed the upload limits accepted by Canvas, you will need to transfer your solution to an online repository like GitLab, Google Drive, Microsoft OneDrive, etc.
For this final assignment, you are required to create a solution, as a team (you may have a team of up to 4 members), to a game or graphical application of your choice! If you do not work in a team, you will not earn any credit for the assignment.
Code Help
Some game possibilities are listed below:
• Texas Hold ’em
• Battleship
• Checkers
However, you may NOT develop a solution to the game of Snake, Pong, or Flappy Bird!!! You must apply inheritance and polymorphism in your solution. You are also required to develop a test class and implement 5 test cases for your application. When you are done with your application, you will need to create a 1 – 2 minute video discussing the features of the application along with any particularly interesting design decisions that you made.
Your goal for the assignment is build a complete graphical, and possibly networked, game or application. As a team you must ultimately decide how you will implement graphics. You have many tools and library options available to implement the graphics portion of the assignment. Some include the Unreal Engine, SFML, Qt, SDL, Allegro, DirectX, OpenGL, etc. Please be sure to also add some directions of how to play the game or use your application.
Aside from the requirements listed in the above paragraph, you are free to complete this assignment as you see fit.
Have fun with this assignment!
IV. Submitting Assignments:
1. Using Canvas https://canvas.wsu.edu/, please submit your solution to the correct “Programming Assignments” (PA) folder. Your solution should be zipped into a .zip file with the name _PA9.zip and uploaded. To upload your solution, please navigate to your correct Canvas lab course space. Select the “Assignments” link in the main left menu bar. Navigate to the correct PA submission folder. Click the “Start Assignment” button. Click the “Upload File” button. Choose the appropriate .zip file with your solution. Finally, click the “Submit Assignment” button.
2. Your .zip file should contain a project workspace. Your project folder must have at least two header files (.h files), three C++ source files (which must be .cpp files), and project workspace. Delete the debug folder before you zip your project folders.
3. Your project must build properly. The most points an assignment can receive if it does not build properly is 200 out of 300.
4. If you do not work in a team, then you will receive 0 out of 300.
程序代写 CS代考 加QQ: 749389476
V. Grading Guidelines:
This assignment is worth 300 points. Your assignment will be evaluated based on a successful compilation and adherence to the program requirements. We will grade according to the following criteria:
25 pts – Appropriate design, style, and commenting according to class standards 75 pts – Design and implementation of main game play or application (along with user directions of how to play). You must apply inheritance and polymorphism!
100 pts – Implementation of graphics
25 pts – Creativity and originality in implementation of the game/application 25 pts – 5 test cases
50 pts – Video demonstration (via YouTube, etc.)
50 pts BONUS – Implementation of network communication via sockets NOTE: If you do not work in a team, you will not earn any credit for the assignment!
Programming Help, Add QQ: 749389476