You are to implement the Pairs Card Game by creating a Visual Studio Project using your project plan.
1 Foundations of C++ Assignments 2 and 3 – Pairs Card Game MCD4720 - Fundamentals of C++ Assignment 2 and 3 - Trimester 1, 2020 Assignment Submissions This project will be submitted in two parts. Both parts of the assessment are equally important for the successful completion of your project, so it is essential that you understand the requirements of both parts before you start. Assignment 2: Mastermind (Part A: Project Plan) Due Date: April 6, 2020, April 11, 2020, 7:55PM (Week 7) Marks: This assignment will be marked out of 100 points. Weighting: 10% of your final mark for the unit. This assignment is the first part of a larger project, which you will complete in Assignment 3. This task consists of your project planning documentation. It will include details of the requirements & analysis of your program, including UML Class diagrams. The purpose of this assignment is to get you comfortable with planning a C++ programming project for Assignment 3. The task is detailed later in this assignment specification, as are the specific marks allocation. Assignment 3: Mastermind (Part B: C++ Project Implementation) Due Date: May 11, 2020, 7:55PM (Week 11) Marks: This assignment will be marked out of 100 points. Weighting: 20% of your final mark for the unit. This assignment consists of your implementation of your project, as outlined in your Project Planning document (Assignment 2). Your project must follow your project plan and must be submitted as a Visual Studio project, including all header and .cpp files, and any appropriate text files to ensure the program compiles and runs. This assignment consists of one Application file and associated custom Class files. The purpose of this assignment is to get you comfortable with designing and implementing basic multi-class C++ programs. The task is detailed later in this assignment specification, as are the specific marks allocation. 2 Foundations of C++ Assignments 2 and 3 – Pairs Card Game Late submission: • By submitting a Special Consideration Form or visit this link: https://lms.monashcollege.edu.au/course/view.php?id=1331 • Or, without special consideration, you lose 5 marks per day that you submit late (including weekends). Submissions will not be accepted more than 10 days late. This means that if you got Y marks, only (Y-n×5) will be counted where n is the number of days you submit late. Marks: This assignment will be marked out of 100 points, and count for 10% of your total unit marks. Plagiarism: It is an academic requirement that the work you submit be original. If there is any evidence of copying (including from online sources without proper attribution), collaboration, pasting from websites or textbooks, Zero marks may be awarded for the whole assignment, the unit or you may be suspended or excluded from your course. Monash Colleges policies on plagiarism, collusion, and cheating are available here or see this link: https://www.monashcollege.edu.au/__data/assets/pdf_file/0010/17101/dip-assessment-policy.pdf Further Note: When you are asked to use Internet resources to answer a question, this does not mean copy-pasting text from websites. Write answers in your own words such that your understanding of the answer is evident. Acknowledge any sources by citing them. https://forms.apps.monash.edu/frevvo/web/tn/monash.edu/u/614aac3c-8ab8-4309-9283-375663fa97d8/app/_86jlUBdoEeiMWO8cc5Na1A/form/18e068b9-db17-4062-9957-b392ffca97a4?typeId=_uSFSQParEemFyv5Ip1_2Eg&locale=en_US,eng_US,eng,en&embed=true https://lms.monashcollege.edu.au/course/view.php?id=1331 https://www.monashcollege.edu.au/__data/assets/pdf_file/0010/17101/dip-assessment-policy.pdf https://www.monashcollege.edu.au/__data/assets/pdf_file/0010/17101/dip-assessment-policy.pdf 3 Foundations of C++ Assignments 2 and 3 – Pairs Card Game Submission Instructions: This project will be submitted in two parts: Assignment 2 – Part A: consists of your project planning documentation. This document will include an outline of your program structure and UML Class diagrams. The assignment must be created and submitted as a single Word or PDF document to the Moodle site. This document must clearly identify both your Name and Student ID to facilitate ease of assessment and feedback. Your document file MUST be named as follows: “YourFistNameLastName_A2.docx” or “YourFistNameLastName_A2.pdf”. This file must be submitted via the Moodle assignment submission page. The document should contain the project plan and the UML diagrams. You can use Microsoft Visio to draw the UML diagrams or you can use any other software, provided that the diagrams are included in your submitted document. Explicit assessment criteria are provided, however please note you will also be assessed on the following broad criteria: Detail of a proposed project plan for the overall project. Creating accurate and complete UML diagrams. Applying a solid Object-Oriented Design (OOD) for the overall project Using appropriate naming conventions, following the unit Programming Style Guide. Assignment 3 – Part B: consists of your implementation of your game project. Your project must follow your project plan and must be submitted as a Visual Studio project, including all header and code files, and any appropriate text files to ensure the program compiles and runs. You may complete the tasks in your preferred IDE, however you MUST create a Visual Studio project in order to submit. Your project folder must be identified by using your name and assignment number, such as YourFirstNameLastNameID_A3. The entire project folder must then be zipped up into one zip file for submission. The zip file MUST be named “YourFistNameLastName_A3.zip”. This zip file must be submitted via the Moodle assignment submission page. Explicit assessment criteria are provided, however please note you will also be assessed on the following broad criteria: Meeting functional requirements as described in the assignment description Demonstrating a solid understanding of C++ concepts, including good practice Demonstrating an understanding of specific C++ concepts relating to the assignment tasks, including object-oriented design and implementation and the use of Pointers Following the unit Programming Style Guide Creating solutions that are as efficient and extensible as possible Reflecting on the appropriateness of your implemented design and meeting functional requirements as described in the assignment description 4 Foundations of C++ Assignments 2 and 3 – Pairs Card Game NOTE! Your submitted program MUST compile and run. Any submission that does not compile will automatically awarded a 50 marks penalty. This means it is your responsibility to continually compile and test your code as you build it. NOTE! Your submitted files must be correctly identified and submitted (as described above). Any submission that does not comply will receive an automatic 20 marks penalty (applied after marking). For assignment 3, your Visual Studio project should include all .cpp and .h files. If you have any questions or concerns please contact your tutor as soon as possible. 5 Foundations of C++ Assignments 2 and 3 – Pairs Card Game Assignment 2: Pairs (Part A) You are to implement a computer-based variant of the card game Pairs. This is a card game for 2-8 players. The basic game of Pairs is a simple press-your-luck game with no winner, just one loser. Players score points by catching pairs, or by folding. The first player with too many points is the loser! You can watch a video on how to play here: https://www.youtube.com/watch?v=bq7Em3p7oS0 or https://www.youtube.com/watch?v=rcV45WyiWqs or online rules here: https://cheapass.com/wp-content/uploads/2018/02/PairsCompanionBookWebFeb2018.pdf In your version, for the basic assignment you only need to implement a 2-player game. For Part A (Assignment 2) of the assignment you will focus on the planning of the project. In Part B (Assignment 3) you will focus on creating the various interactive objects in the game and program the player interactions. Basic Game Play: In this program, the computer (dealer) controls a triangular deck of cards. The deck is made up of 1x1, 2x2s, 3x3s, all the way up to 10x10s, making a deck of 55 cards. This is NOT a standard deck of playing cards. The basic game play is as follows: Shuffle the deck and burn (discard) five cards, facedown, into the middle of the table. This creates the start of the discard pile. Each time you reshuffle, you will burn five cards. This makes it harder for players to guess what cards are left at the end of the deck. To start each round, deal one card face up to each player. The player with the lowest card will go first. If there is a tie for lowest card, deal a second card to the tied players to break the tie. If the second card creates a pair, discard it and deal another. Example: In the diagram at right, Player A is dealing. She shuffles the deck and burns five cards into the middle. She then deals one card to each player, face up. Player D will go first because she has the lowest card, a 6. On your turn: you have two choices – you may hit (take a card), or fold (end the round). If you get a pair, or fold, the round is over and you score points. If not, play passes to the left. Hitting: When you take a hit, you’re hoping not to get a pair. If you catch a pair, the round ends, and you score points equal to the rank of the paired card. For example, if you catch a pair of 8’s, you score 8 points. Keep one of those cards aside face up, to track your score. Folding: You can surrender (fold) instead of taking a card. This also ends the round. When you fold, you must take the lowest card in play and keep it for points. You may choose this card from any player’s stack, including your own. https://www.youtube.com/watch?v=bq7Em3p7oS0 https://www.youtube.com/watch?v=rcV45WyiWqs https://cheapass.com/wp-content/uploads/2018/02/PairsCompanionBookWebFeb2018.pdf 6 Foundations of C++ Assignments 2 and 3 – Pairs Card Game Folding can be better than hitting, depending on your odds of catching a pair, but it’s up to you