MCD4720 - Fundamentals of C++Assignment 1 - Trimester 1, 2019Submission guidelinesThis is an individual assignment, group work is not permittedDeadline: March 24, 2019, 11:55pmWeighting: 10% of your final mark for the unitLate submission:● By submitting a Special Consideration Form or visit this link: https://goo.gl/xtk6n2● Or, without special consideration, you lose 5% of your mark 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 (0.95n)×Y will be counted where n is the number of daysyou submit late.Marks: This assignment will be marked out of 30 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 evidenceof copying (including from online sources without proper attribution), collaboration, pasting from websitesor textbooks, Zero marks may be awarded for the whole assignment, the unit or you may be suspendedor excluded from your course. Monash Colleges policies on plagiarism, collusion, and cheating areavailable here or see this link: https://goo.gl/bs1ndFFurther Note: When you are asked to use Internet resources to answer a question, this does not meancopy-pasting text from websites. Write answers in your own words such that your understanding of theanswer is evident. Acknowledge any sources by citing them.1Task Details:This assignment is the first part of a larger project, which you will complete in Assignment 2.The purpose of this assignment is to get you comfortable with planning of the C++ programming forassignment 2. It is detailed later in this assignment specification, as is the specific marks allocation.Submission Instructions:The assignment must be created and submitted as a single Word or PDF document to the Moodle sitewhich must clearly identify and display both your Name and Student ID to facilitate ease of assessment& feedback.Your document file MUST be named “YourFirstNameLastNameID.docx” or“YourFirstNameLastNameID.pdf”. This file must be submitted via the Moodle assignment submissionpage.NOTE! Your submitted file must be correctly identified and submitted (as described above).Any submission that does not comply will receive an automatic 10% penalty (applied aftermarking).The document should contain the project plan and the UML diagram, you can use Microsoft visio todraw the UML or you can use any other software.Explicit assessment criteria are provided, however please note you will be assessed on the followingbroad criteria: Detail of a proposed project plan for the overall project Creating accurate and complete UML diagrams Using appropriate naming conventions, following the unit Programming Style GuideIf you have any questions or concerns please contact your tutor as soon as possible.2Assignment Task: Go FishYou are to implement a computer-based variant of the card game Go Fish. This is a two-playercard game played with a standard deck of cards in which the aim of the game is to capture setsof four cards of the same value (for example 2, 3, Queen, etc.).You can play an online version here: https://cardgames.io/gofish/. In your version, you will playagainst one computer opponent.For assignment 1 you will focus on the planning of the project and the UML diagrams of thegame and some simple interactivity. In assignment 2 you will focus on creating the variousinteractive objects in the game and program the remaining player interactions.Basic Game PlayTo begin, seven cards are dealt to each player from a standard deck of 52 cards. The gameplays as follows:● The first player asks the second player for a card of a particular value. They must ask fora card of the same value as one of the cards in their hand.● If the second player has a card of that value, they will remove it from their hand and giveit to them. If they do not have one, they will tell the player to “Go Fish!”. This means thefirst player must take a new card from the deck.● If the first player was successful in asking for a card, they can ask for another card. Thiscontinues until they are told to “Go Fish”, at which point the second player will then startthe process of asking for a card.● If a player gets four cards of the same value, they reveal the set to the other player, score1 point, and remove those cards from their hand.● If at some point a player has no cards in their hand, they take seven new cards from thedeck (or as many as left if there are less than seven).● The game continues until all sets of cards are formed. The player with the most pointswins.Computer Player:Obviously, you as a player can make strategic choices as to which card you ask the other playerfor. Your computer opponent does not need to be “intelligent”… it just needs to at leastrandomly ask for a card that it has at least one of in its hand. You can implement any other AI(Artificial Intelligence) you like as long as it conforms to that basic game rule. More sophisticatedAI can be considered extra functionality (see Assignment 2 brief for more details on this).3Project PlanHaving a clear plan for your project before you begin coding is essential for finishing asuccessful project on time and with minimal stress. So part of this assignment is defining whatwill be in your project and what you need to do to actually develop it.Important: You must also read the requirements for Assignment 2 in order to be able tocomplete the documentation required for Assignment 1.The documentation you must submit will include the following: A description of “How to Play”This will be the information you display on the opening screen of your game to inform theplayer what they need to do in order to play and win the game. Do not just copy the gameplay description above, make your own description.Note: This description can be saved as a text file and read into your game when theprogram begins. You can also use this as a convenient way to display “help” if the playerasks for it. A development outline of your gameUsing a simple outline format (numbered or bullet points) state the main actions that theprogram will have and then, as sub-points, state the things you will need to do to makethat happen.The outline structure should contain all the elements of your game, as this is a high leveldescription of your approach to the development of your program. You should include atleast the following headings and provide examples of happens under each section.● The game setup● The player’s turn● Processing player input● The opponent’s turn● Processing opponent AI● The end game conditions● Additional Features included, if any – see Assignment 2● Outline what will be in all your game classes – see Assignment 2Here is an example to get you started with your project outline:o The Game Setup Display an overview of the game rule so the player knows what to do to win. Initialise the game elements:■ add the players – ask for the player’s name, assign a name to the opponent■ add all the other things that will happen during initialisation including● creating a deck of cards and shuffling them● dealing cards to the players, etc.4As you can see, you only have to describe the actions the program will take, not the code, forthe outline. The idea here is to give you a starting point for when you start writing your code asyou can use this as a checklist of the things you need to include. UML DiagramsUML diagrams are designed to make structuring your program easier. How to createthem will be covered in class, but the general structure is shown here – see Assignment2 for more details about classes.You will need UML diagrams for each of the classes you include in your game (as least aPlayer, Card and Game class).ClassNamelist of attributes(variables)list of behaviours(functions)Assignment 1: Marking Criteria [30 marks in total]Project Plan [24]● Description of the rules (the introduction to your game) [2]● Outline includes all game functionality (includes both Parts A and B) [2]● Each section is broken into logical tasks [5]● Task descriptions given provide sufficient detail [10]● Tasks are performed in a logical order [5]UML Diagrams [6]● Correct structure used (Name, Attributes, Behaviours) [1]● Included the correct designations for public (+) and private (-) data [2]● All variables and functions have meaningful names [3]本团队核心人员组成主要包括硅谷工程师、BAT一线工程师,精通德英语!我们主要业务范围是代做编程大作业、课程设计等等。我们的方向领域:window编程 数值算法 AI人工智能 金融统计 计量分析 大数据 网络编程 WEB编程 通讯编程 游戏编程多媒体linux 外挂编程 程序API图像处理 嵌入式/单片机 数据库编程 控制台 进程与线程 网络安全 汇编语言 硬件编程 软件设计 工程标准规等。其中代写编程、代写程序、代写留学生程序作业语言或工具包括但不限于以下范围:C/C++/C#代写Java代写IT代写Python代写辅导编程作业Matlab代写Haskell代写Processing代写Linux环境搭建Rust代写Data Structure Assginment 数据结构代写MIPS代写Machine Learning 作业 代写Oracle/SQL/PostgreSQL/Pig 数据库代写/代做/辅导Web开发、网站开发、网站作业ASP.NET网站开发Finance Insurace Statistics统计、回归、迭代Prolog代写Computer Computational method代做因为专业,所以值得信赖。如有需要,请加QQ:99515681 或邮箱:99515681@qq.com 微信:codehelp
网友评论