联系方式

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

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

日期:2019-03-22 09:04

MCD4720 - Fundamentals of C++

Assignment 1 - Trimester 1, 2019

Submission guidelines

This is an individual assignment, group work is not permitted

Deadline: March 24, 2019, 11:55pm

Weighting: 10% of your final mark for the unit

Late 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.95

n

)×Y will be counted where n is the number of days

you 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 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://goo.gl/bs1ndF

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.

1

Task 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 for

assignment 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 site

which 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 submission

page.

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 after

marking).

The document should contain the project plan and the UML diagram, you can use Microsoft visio to

draw the UML or you can use any other software.

Explicit assessment criteria are provided, however please note you will be assessed on the following

broad 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 Guide

If you have any questions or concerns please contact your tutor as soon as possible.

2

Assignment Task: Go Fish

You are to implement a computer-based variant of the card game Go Fish. This is a two-player

card game played with a standard deck of cards in which the aim of the game is to capture sets

of 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 play

against one computer opponent.

For assignment 1 you will focus on the planning of the project and the UML diagrams of the

game and some simple interactivity. In assignment 2 you will focus on creating the various

interactive objects in the game and program the remaining player interactions.

Basic Game Play

To begin, seven cards are dealt to each player from a standard deck of 52 cards. The game

plays as follows:

● The first player asks the second player for a card of a particular value. They must ask for

a 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 give

it to them. If they do not have one, they will tell the player to “Go Fish!”. This means the

first 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. This

continues until they are told to “Go Fish”, at which point the second player will then start

the process of asking for a card.

● If a player gets four cards of the same value, they reveal the set to the other player, score

1 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 the

deck (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 points

wins.

Computer Player:

Obviously, you as a player can make strategic choices as to which card you ask the other player

for. Your computer opponent does not need to be “intelligent”… it just needs to at least

randomly 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 sophisticated

AI can be considered extra functionality (see Assignment 2 brief for more details on this).

3

Project Plan

Having a clear plan for your project before you begin coding is essential for finishing a

successful project on time and with minimal stress. So part of this assignment is defining what

will 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 to

complete 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 the

player what they need to do in order to play and win the game. Do not just copy the game

play description above, make your own description.

Note: This description can be saved as a text file and read into your game when the

program begins. You can also use this as a convenient way to display “help” if the player

asks for it.

A development outline of your game

Using a simple outline format (numbered or bullet points) state the main actions that the

program will have and then, as sub-points, state the things you will need to do to make

that happen.

The outline structure should contain all the elements of your game, as this is a high level

description of your approach to the development of your program. You should include at

least 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 2

Here 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.

4

As you can see, you only have to describe the actions the program will take, not the code, for

the outline. The idea here is to give you a starting point for when you start writing your code as

you can use this as a checklist of the things you need to include.

UML Diagrams

UML diagrams are designed to make structuring your program easier. How to create

them will be covered in class, but the general structure is shown here – see Assignment

2 for more details about classes.

You will need UML diagrams for each of the classes you include in your game (as least a

Player, Card and Game class).

ClassName

list 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]


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

python代写
微信客服:codinghelp