代做FIT9131 -Assignment 1帮做Java、Java编程代写

FIT9131 Semester 1 2020 Assignment 1

15 April 2020 1
Guess a C♠rd Game

Introduction
This assignment is due by 10pm on Friday of Week 7 (8 May, 2020). It is worth 10% of the marks for your
final assessment in this unit. Heavy penalties will apply for late submission. This is an individual
assignment and must be entirely your own work. You must attribute the source of any part of your code
which you have not written yourself. Please note the section on plagiarism in this document.
The assignment must be done using the BlueJ environment.
The Java source code for this assignment must be implemented according to the Java Coding Standards for
this unit.
Any points needing clarification may be discussed with your tutor in your online tutorial session.
Specification
For this assignment you will write a program that will allow a person to play a Guess a C♠rd Game. This
section specifies the required functionality of the program. The interface must be a BlueJ Terminal Window,
otherwise zero marks will be awarded. Only a simple screen presentation of the game is required; however,
more marks will be gained for a game that is easy to follow with clear informative messages to the player.
The aim of the Guess a C♠rd Game is for a player to correctly guess a playing card drawn randomly by the
computer. The player has a set number of attempts to guess the card. However, they are allocated points at
the start of the game and are penalised for each incorrect attempt. The game ends when a correct guess is
entered, the points are zero or less, or the player has run out of guesses. The points remaining at the end of
the game are counted as the score for the game. The player may play a series of games, with cumulative
game results displayed after the final game when the player decides to stop playing.
The deck of cards from which the cards are drawn is a standard fifty-two card deck. It has four suits:
Hearts♥, Diamonds♦, Clubs♣ and Spades♠. Each suit has thirteen cards: an Ace, which is regarded as
number 1 for this game; cards numbered 2 to 10 inclusive. Each suit also three “face cards”: a Jack, number
11 for this game; a Queen, number 12 for this game; and a King, number 13 for this game.
Game play
The Guess a C♠rd Game begins with a welcome message followed by a message inviting the player to enter
their name. The player’s name cannot be blank and can contain only alphabetic characters. Two numbers, the
first with a value from 1 to 4 (inclusive) and the second with a value from 1 to 13 (inclusive), are then
randomly generated by the program but hidden from the player. The two numbers represent the card drawn
from the deck. So, if the random numbers were 2 and 1, this would mean the card drawn was the Ace of
Diamonds. The random numbers 4 and 13 would mean the card drawn was the King of Spades … and so on.
FIT9131 Semester 1 2020 Assignment 1



15 April 2020 2


The player starts each game with a point score of 40 points. They will first guess the suit of the card drawn
from the deck. The player will enter a single character to signify their choice of suit: H for Hearts, D for
Diamonds, C for Clubs and S for Spades. The player has three attempts to guess the correct suit. Points are
deducted from the player’s score each time the player guesses incorrectly. The points deducted during this
part of the game are shown in Table 1.

Incorrect guess Points deducted
1st 5
2nd 10
3rd 15
Table 1: Point deductions for incorrect guesses for the card suit. For example, 2 incorrect guesses will be 15
points deducted.
If the player guesses incorrectly on the first two attempts, a message is displayed informing them so and they
are invited to enter another guess. After a third incorrect guess the player is informed once again of their
incorrect guess, then shown the correct suit by the program and the game moves to the next phase. If the
player guesses correctly, on either of their first, second or third attempts, they are shown a message
informing them so and the game also moves to the next phase.
After correctly guessing, or failing to guess and been shown the suit of the card drawn from the deck, the
player then has four attempts to guess the correct card number. To do this the player will enter an integer
value. Points are deducted from the player’s score each time the player guesses incorrectly. The points
deducted during this part of the game are shown in Table 2.

Incorrect guess Points deducted
1st 2
2nd 6
3rd 12
4th 20
Table 2: Point deductions for incorrect guesses for the card number. For example, 3 incorrect guesses will be 20
points deducted.
The game continues while the player’s points score is greater than 0, until the player guesses correctly, or
they have run out of guesses. If the player guesses incorrectly on the first three attempts and they have a
points score above 0, the player is shown a message informing them that the correct card number is higher or
lower than their last guess. After a fourth incorrect guess the player is shown the correct card number, the
game ends, and they lose the game. If the player guesses correctly on any one of their four attempts, they win
the game and are shown a message informing them so.
At the end of each game, the player is also shown their points score for the game they have just played. They
are also asked if they want to play another game. If they choose not to play another game, they are shown the
number of games they have played, the number of games they have won and their highest score for the
games they played. The program then terminates.
FIT9131 Semester 1 2020 Assignment 1



15 April 2020 3


Please note that your program must deal with invalid values entered by the player with respect to the data
values mentioned in the previous sections. During the running of the game, if the player enters an invalid
value for either the card suit or the card number, the program should display a warning message and the
player should be invited to enter another number without penalty (the invalid value entered will not be
counted as a guess).
Program design
Your program must demonstrate your understanding of the object-oriented concepts and general
programming constructs presented in the course.
Students are advised to follow good programming practices and to use loops and appropriate fields where
required to ensure good program design.
The data type of each field must be chosen carefully and you must be able to justify the choice of the data
type. You may want to include comments in the class to state any assumptions made. Each class should also
include appropriate accessor and mutator methods for its fields.
Validation of values for fields and local variables should also be implemented where appropriate. You
should not allow an object of a class to be set to an invalid state.
Class designs
Your program should consist of at least four classes: Player, Card, Game and RandomNumber. This section
gives an outline of these classes with suggested fields and some behaviours.
Player class
The Player class will specify the attributes and behaviours of a player. An object of the Player class will have
the following fields (at least):
name – the name of the player.
score – the current game score
guess – the last suit or number guessed
highestScore – the highest game score achieved
numberOfGamesPlayed – the total number of games played
numberOfGamesWon – the total number of games won
The class must also have a non-parameterised (“default”) constructor and parameterised constructor that
accepts a value for the name of the player. A Player object should also be able to return its state in the form
of a String.
Card class
The Card class will specify the attributes and behaviours of card. An object of the Card class will have the
following fields (at least):
suit – the card suit.
number – the card number
The class must also have a non-parameterised (“default”) constructor and parameterised constructor that
accepts values for the suit and number of the card. A Card object should also be able to return its state in the
form of a String.
FIT9131 Semester 1 2020 Assignment 1



15 April 2020 4



Game class
The Game class will manage the playing of a game. It will have the following field (at least):
cardGamePlayer (an object of type Player)
The Game class will have methods to manage the playing of the game. These should include (at least) the
following behaviours:
• Display a welcome message on the screen.
• Request the player to enter their name.
• Request the player to enter a suit.
• Request the player to enter a card number
• Compare the suit entered by a player with the hidden suit.
• Compare the number entered by a player with the hidden number.
• Display the result of the attempt at guessing the suit.
• Display the result of the attempt at guessing the number.
• Display the result for the end of a game.
• Display the overall result when the player decides to stop playing.
Note that all code for input from the terminal or output to the screen must be in the Game class. There should
be no code for input from the terminal or output to the screen in any other class.

RandomNumber class
An object of the RandomNumber class will generate a random number from 1 to a maximum value
specified. The maximum value should be specified via a paramaterised constructor.
Assessment
Assessment for this assignment will be done via an interview with your tutor. The marks will be allocated as
follows:
• 30% - Object-oriented design quality. This will be assessed on appropriate implementation of
classes, fields, constructors, methods and validation of the object’s state.
• 10% - Adherence to FIT9131 Java coding standards.
• 60% - Program functionality in accordance to the requirements.

You must submit your work by the submission deadline on the due date (a late penalty of 20% per day,
inclusive of weekends, of the possible marks will apply - up to a maximum of 100%). There will be no
extensions - so start working on it early.
Marks will be deducted for untidy/incomplete submissions, and non-conformances to the FIT9131 Java
Coding Standards.
FIT9131 Semester 1 2020 Assignment 1



15 April 2020 5


Interview
You will be asked to demonstrate your program at an “interview” following the submission date. At the
interview, you will be asked to explain your code/design, modify your code, and discuss your design
decisions and alternatives. Marks will not be awarded for any section of code/design/functionality that you
cannot explain satisfactorily (the marker may also delete excessive in-code comments before you are asked
to explain that code).
In other words, you will be assessed on your understanding of the code, and not on the actual code itself.
The interviews will be organised during week 7 and will take place online via Zoom or other video facility
during Week 8. It is your responsibility to make yourself available for an interview time. Any student who
does not attend an interview will receive a mark of 0 for the assignment.
Submission Requirements
The assignment must be uploaded to Moodle by 10pm Friday of Week 7 (8 May, 2020).
The submission requirements for Assignment 1 are as follows:
A .zip file uploaded to Moodle containing the following components:
• the BlueJ project you created to implement your assignment.
• a completed Assignment Cover Sheet. This will be available for download from the unit’s Moodle
site before the submission deadline. You simply complete the editable sections of the document, save
it, and include it in your .zip file for submission.
The .zip file should be named with your Student ID Number. For example, if your id is 12345678, then the
file should be named 12345678_A1.zip. Do not name your zip file with any other name.
It is your responsibility to check that your ZIP file contains all the correct files, and is not corrupted, before
you submit it. If you tutor cannot open your zip file, or if it does not contain the correct files, you will not be
assessed.
Marks will be deducted for any of these requirements that are not complied with.
Warning: there will be no extensions to the due date. Any late submission will incur the 20% per day
penalty. It is strongly suggested that you submit the assignment well before the deadline, in case there are
some unexpected complications on the day (e.g. interruptions to your home internet connection).
Plagiarism
Cheating and plagiarism are viewed as serious offences. In cases where cheating has been confirmed,
students have been severely penalised, from losing all marks for an assignment, to facing disciplinary action
at the Faculty level. Monash has several policies in relation to these offences and it is your responsibility to
acquaint yourself with these.
Plagiarism (http://www.policy.monash.edu/policy-bank/academic/education/conduct/plagiarism-policy.html)

热门主题

课程名

int2067/int5051 bsb151 babs2202 mis2002s phya21 18-213 cege0012 mgt253 fc021 mdia1002 math39512 math38032 mech5125 cisc102 07 mgx3110 cs240 11175 fin3020s eco3420 ictten622 comp9727 cpt111 de114102d mgm320h5s bafi1019 efim20036 mn-3503 comp9414 math21112 fins5568 comp4337 bcpm000028 info6030 inft6800 bcpm0054 comp(2041|9044) 110.807 bma0092 cs365 math20212 ce335 math2010 ec3450 comm1170 cenv6141 ftec5580 ecmt1010 csci-ua.0480-003 econ12-200 ectb60h3f cs247—assignment ib3960 tk3163 ics3u ib3j80 comp20008 comp9334 eppd1063 acct2343 cct109 isys1055/3412 econ7230 msinm014/msing014/msing014b math2014 math350-real eec180 stat141b econ2101 fit2004 comp643 bu1002 cm2030 mn7182sr ectb60h3s ib2d30 ohss7000 fit3175 econ20120/econ30320 acct7104 compsci 369 math226 127.241 info1110 37007 math137a mgt4701 comm1180 fc300 ectb60h3 llp120 bio99 econ7030 csse2310/csse7231 comm1190 125.330 110.309 csc3100 bu1007 comp 636 qbus3600 compx222 stat437 kit317 hw1 ag942 fit3139 115.213 ipa61006 econ214 envm7512 6010acc fit4005 fins5542 slsp5360m 119729 cs148 hld-4267-r comp4002/gam cava1001 or4023 cosc2758/cosc2938 cse140 fu010055 csci410 finc3017 comp9417 fsc60504 24309 bsys702 mgec61 cive9831m pubh5010 5bus1037 info90004 p6769 bsan3209 plana4310 caes1000 econ0060 ap/adms4540 ast101h5f plan6392 625.609.81 csmai21 fnce6012 misy262 ifb106tc csci910 502it comp603/ense600 4035 csca08 8iar101 bsd131 msci242l csci 4261 elec51020 blaw1002 ec3044 acct40115 csi2108–cryptographic 158225 7014mhr econ60822 ecn302 philo225-24a acst2001 fit9132 comp1117b ad654 comp3221 st332 cs170 econ0033 engr228-digital law-10027u fit5057 ve311 sle210 n1608 msim3101 badp2003 mth002 6012acc 072243a 3809ict amath 483 ifn556 cven4051 2024 comp9024 158.739-2024 comp 3023 ecs122a com63004 bms5021 comp1028 genc3004 phil2617
联系我们
EMail: 99515681@qq.com
QQ: 99515681
留学生作业帮-留学生的知心伴侣!
工作时间:08:00-21:00
python代写
微信客服:codinghelp
站长地图