首页
网站开发
桌面应用
管理软件
微信开发
App开发
嵌入式软件
工具软件
数据采集与分析
其他
首页
>
> 详细
代写COMP2011J、Java程序设计代做
项目预算:
开发周期:
发布时间:
要求地区:
Beijing-Dublin International College
COMP2011J - Object Oriented Programming
Individual Assignment: Defender
Assignment Details
Due date: 6
th of December 2024
Language: Solution must be completed in Java
Game Description
Defender is a classic arcade game where the player flies a spaceship destroying alien invaders over a planet.
Defender is a side-view, horizontally scrolling shooter set on the surface of an unnamed planet. The player
controls a spaceship flying either to the left or right. The player can control the elevation of the ship as well as
fire weapons and make a hyperspace jump.
The object is to destroy all alien invaders, while protecting astronauts on the landscape from abduction.
Landers pick up humans and attempt to carry them to the top of the screen at which point they turn into
fast-moving mutants. A captured human can be freed by shooting the lander, then catching the human before
it falls to its death, and dropping it off on the ground.
Defeating the aliens allows the player to progress to the next level. Failing to protect the astronauts results
in the level being lost (and started again if you have remaining lives). A ship is lost if it is hit by an enemy or
its projectiles, or if a hyperspace jump goes wrong (as they randomly do). After exhausting all ships, the game
ends.
1
Movement
The players ship can move up and down on the screen. When it does the screen does not move. The players
ship can not go any lower than the bottom of the screen or any higher than the top of the screen.
As the player moves left and right the screen should move to show more of the level. The player ship should
be kept in the middle half of the screen. That is when the player is in this area, the screen should not move.
However, if the player is going to move outside of this area, then the view of the level should be changed so the
player remains in the middle half of the screen.
For the players ship moving left and right the important element of movement is momentum. The player’s
ship should continue travelling in the same direction at the same speed unless some acceleration is applied. So
when the players ship begins moving and no more thrust is applied, it will continue in the same direction and
at the same speed forever unless the ship crashes into an alien. The direction that the ship travels is based on
the direction that the ship was facing when the thrust was applied. If no thrust is being applied, then the ship
can face in any direction while it keeps moving in the direction of the original thrust.
Enemies
There are two types of enemies in the game, Landers and Mutants.
Landers will fire at the player’s ship, but their primary goal is to grab on of the humans from the surface
and carry them to the top of the screen. One the lander reaches the top of the screen carrying a human they
will become a mutant. If a lander is destroyed while they are carrying a human, the human is dropped and
must be caught by the player. If the player does not catch the human, they will die when they hit the ground.
If the player catches a human, they can place them back on the ground by dropping down to that level.
Mutants are much faster than landers. Instead of attempting to pick up humans, mutants only purpose is
to kill the player. They will chase after and fire at the player.
Points/Scoring
Points are awarded for destroying the asteroids based on the following calculations:
• Lander destroyed → 150 points each
• Mutant destroyed → 300 points each
• Human captured and mutated → -150 points each
• Human saved → 500 points each
Levels
The number of humans and enemy landers is based on the level. As levels increase there should be more landers
and less humans on the level.
A level is not completed until all of the enemy ships have been destroyed. This may require the player to
search across the landscape to find the remaining enemies.
Example
To get an example of the how the defender game plays, go to the https://www.free80sarcade.com/defender.
php and play the game there. This version of the game has a larger number of enemy types and is quite difficult.
The version I am requiring you to create only requires two types of enemies and can be made easier (by making
the enemies move more slowly).
Assessment
This section gives a breakdown of the approximate marking criteria for the assignment. The final marking
scheme may vary slightly but will be relatively similar. Your submission should contain the following files
• A zip file containing the entire project code and any other files required for the code to be executed
(exported from IntelliJ IDEA or Eclipse)
2
• A report explaining what you have achieved for each of the criteria in the marking scheme (estimate fail,
pass or excellent) based on the template provided
• A short video (less than 3 min) showing a screen recording of the game with your explanation voiced over
it
Each file should be named only with your UCD student number and the correct file extension (e.g. 1234567.zip,
1234567.pdf, and 1234567.mp4).
Zip File
This must contain all of the code required to execute the project. If I am unable to execute your code, it will
reduce your grade. If there are any requirements to setup and execute your code you should include these in
the zip file.
I will be testing the code using IntelliJ IDEA (unless you specifically mention that I should use Eclipse). I
would recommend that you create the project using the Intellij IDEA IDE and export the entire project to a
zip file for submission.
Assignment Report
This document should be in PDF format and contain your name and student number as well as a table explaining
what you estimate of how your project will be graded against the marking criteria in the next section. For each
of the criteria mark an X under Fail, Pass, or Excellent and optionally include some text to explain why you
believe you have merited that level. You may also include details in this report of any additional functionality
that you have added that you believe should be worth extra credit.
Marking Scheme
The marking scheme shown in table 1 is subject to change. This means that it may be changed at any time
without notice if I feel some parts were too easy or too hard and additional criteria may be added. The final
grade from this section will be based on a weighted sum of the individual parts. The weights for each part will
be based on the difficulty and importance. For example, design and cohesion is very important and will likely
be weighted much higher than any other component.
The text explaining each can be used as a guide to the amount of work expected for the different parts of
the assignment.
You should also note that it is required that your project is programmed using one of the two libraries avail able on moodle (https://csmoodle.ucd.ie/moodle/mod/folder/view.php?id=74336 or https://csmoodle.
ucd.ie/moodle/mod/folder/view.php?id=74337). If you do not use one of these libraries, then you will get
0 for your assignment grade.
Additional Criteria
In addition to the above, your submission will also be considered under some more criteria. These however are
only used to reduce your grade if you have performed poorly and will otherwise have no effect.
• Naming of variables, methods, class, interfaces, enumerated types or anything else in your code
• Following naming conventions for the above
• Code formatting and commenting1
• Correct formatting of submitted files (e.g you will lose points for submitting a doc file instead of a pdf,
mkv instead of mp4, or rar instead of zip)
• Incorrect naming of any submitted files
• Not including name and student number in report (or including an incorrect student number)
1
I do not expect a large amount, but at the least there should be an explanation of the use of each class
3
Item Fail Pass Excellent
Design and Cohesion
Package Struc ture
No packages are used Separate packages are used, but the
classes are not well organised (split be tween game model and UI)
Separate packages are used and each
class is placed in a sensible package
(split between game model and UI and
potentially with subpackages)
Logical Struc ture
The structure of the
classes is unnecessar ily complicated
There is a logic to the structure of the
code (use of inheritance, composition
and interfaces) but it is not always well
applied
There is an excellent logic to the struc ture of the code (use of inheritance,
composition and interfaces) and it is al ways well applied
Responsibilities
of Classes
Many classes are
created with too
much responsibilities
within them
Some classes are created with too much
responsibilities within them
All of the classes defined have a reason able level of responsibilities
Cohesion Responsibilities of
many classes are not
related
Responsibilities of some classes are not
related
All of the classes defined have responsi bilities that are related to each other
Methods Methods are poorly
named, do not use
camelCase and are
frequently longer
than 30 lines of code
Some methods have descriptive names,
and are mostly not larger than 30 lines
of code
All methods have descriptive names, are
written in camelCase and are mostly
not larger than 30 lines of code
Other Criteria
Input User input is not com pleted
User input is completed but not all ac tions are implemented
User input is completed and all actions
are implemented
Display No shapes are drawn
on the game screen
Some of the shapes are drawn on the
screen, or they are implemented using
images loaded from files
All required drawable objects are imple mented in code by specifying the coor dinates that individual pieces should be
drawn at
Menu No menu or other op tions are shown, game
moves straight into
gameplay
Main menu is shown before gameplay
starts
Game contains a main menu, hall of
fame display (high scores) and an info
screen showing the controls for the game
Collisions Collisions between
the players ship or
bullets and other ob jects is not completed
Some of the collisions are detect, but
some others are not
All required collisions are detected by
the game
Difficulty/Levels There is no change to
difficulty or multiple
levels are not imple mented
There are some changes in difficulty, but
they are not consistent (too big or small)
There are small but consistent changes
in the difficulty of the game as the levels
increase
Movement of
Player
Movement is not as
specified in the de scription above
Movement is implemented correctly, but
there some problems
Movement is implemented correctly
Movement of
Aliens
Aliens are not imple mented or move in
simple straight lines
Aliens are implemented and move to wards the humans on the ground
Aliens are implemented and move in
correct directions (lander to humans,
lander with human to top, mutant to wards player)
Alien Shooting Aliens are not im plemented or do not
shoot
Aliens are implemented and shoot in
random directions
Aliens are implemented and shoot in the
direction of the player
Appraisal No Appraisal was in cluded
The appraisal was very inaccurate, and
claimed the project was better than the
code showed
The appraisal was very accurate, and
highlighted areas where the project met
or exceeded the project specifications as
well as areas where it did not meet them
(if applicable)
Table 1: Indicative Marking Scheme for Assignment
4
软件开发、广告设计客服
QQ:99515681
邮箱:99515681@qq.com
工作时间:8:00-23:00
微信:codinghelp
热点项目
更多
代做 program、代写 c++设计程...
2024-12-23
comp2012j 代写、代做 java 设...
2024-12-23
代做 data 编程、代写 python/...
2024-12-23
代做en.553.413-613 applied s...
2024-12-23
代做steady-state analvsis代做...
2024-12-23
代写photo essay of a deciduo...
2024-12-23
代写gpa analyzer调试c/c++语言
2024-12-23
代做comp 330 (fall 2024): as...
2024-12-23
代写pstat 160a fall 2024 - a...
2024-12-23
代做pstat 160a: stochastic p...
2024-12-23
代做7ssgn110 environmental d...
2024-12-23
代做compsci 4039 programming...
2024-12-23
代做lab exercise 8: dictiona...
2024-12-23
热点标签
mktg2509
csci 2600
38170
lng302
csse3010
phas3226
77938
arch1162
engn4536/engn6536
acx5903
comp151101
phl245
cse12
comp9312
stat3016/6016
phas0038
comp2140
6qqmb312
xjco3011
rest0005
ematm0051
5qqmn219
lubs5062m
eee8155
cege0100
eap033
artd1109
mat246
etc3430
ecmm462
mis102
inft6800
ddes9903
comp6521
comp9517
comp3331/9331
comp4337
comp6008
comp9414
bu.231.790.81
man00150m
csb352h
math1041
eengm4100
isys1002
08
6057cem
mktg3504
mthm036
mtrx1701
mth3241
eeee3086
cmp-7038b
cmp-7000a
ints4010
econ2151
infs5710
fins5516
fin3309
fins5510
gsoe9340
math2007
math2036
soee5010
mark3088
infs3605
elec9714
comp2271
ma214
comp2211
infs3604
600426
sit254
acct3091
bbt405
msin0116
com107/com113
mark5826
sit120
comp9021
eco2101
eeen40700
cs253
ece3114
ecmm447
chns3000
math377
itd102
comp9444
comp(2041|9044)
econ0060
econ7230
mgt001371
ecs-323
cs6250
mgdi60012
mdia2012
comm221001
comm5000
ma1008
engl642
econ241
com333
math367
mis201
nbs-7041x
meek16104
econ2003
comm1190
mbas902
comp-1027
dpst1091
comp7315
eppd1033
m06
ee3025
msci231
bb113/bbs1063
fc709
comp3425
comp9417
econ42915
cb9101
math1102e
chme0017
fc307
mkt60104
5522usst
litr1-uc6201.200
ee1102
cosc2803
math39512
omp9727
int2067/int5051
bsb151
mgt253
fc021
babs2202
mis2002s
phya21
18-213
cege0012
mdia1002
math38032
mech5125
07
cisc102
mgx3110
cs240
11175
fin3020s
eco3420
ictten622
comp9727
cpt111
de114102d
mgm320h5s
bafi1019
math21112
efim20036
mn-3503
fins5568
110.807
bcpm000028
info6030
bma0092
bcpm0054
math20212
ce335
cs365
cenv6141
ftec5580
math2010
ec3450
comm1170
ecmt1010
csci-ua.0480-003
econ12-200
ib3960
ectb60h3f
cs247—assignment
tk3163
ics3u
ib3j80
comp20008
comp9334
eppd1063
acct2343
cct109
isys1055/3412
math350-real
math2014
eec180
stat141b
econ2101
msinm014/msing014/msing014b
fit2004
comp643
bu1002
cm2030
联系我们
- QQ: 9951568
© 2021
www.rj363.com
软件定制开发网!