首页
网站开发
桌面应用
管理软件
微信开发
App开发
嵌入式软件
工具软件
数据采集与分析
其他
首页
>
> 详细
代写program编程、代做Python,Java程序
项目预算:
开发周期:
发布时间:
要求地区:
REQ1: The Overgrown Sanctuary
After successfully defeating Abxervyer, The Forest Watcher in the Ancient Woods, the
player notices that a new gate is now visible. Unlocking the gate with the old key, the
player finds themselves yet in another area, The Overgrown Sanctuary.
A sample Overgrown Sanctuary map
The Overgrown Sanctuary must be implemented as a new map (separate from the maps that we have
created thus far). The player still needs to unlock a gate and go through it to be able to move to the
new map.
Make sure to add another Gate in The Overgrown Sanctuary map to go back to the Abxervyer’s map.
You can assume that this is a separate gate that the player also needs to unlock.
If you remember, in the Assignment 2 specification, we mentioned that once the boss is
defeated, the location where the boss last stood turns into a gate, which leads the
player back to the Ancient Woods. Now, refactor the implementation so that this gate
leads to two destinations: back to the Ancient Woods and The Overgrown Sanctuary.
You may assume that future gates may also have multiple destinations.
Since the implementation of the gate needs to be modified, you need to include your design in the
UML class diagram for this requirement.
In the new area, the player notices familiar structures, including graveyards, huts and
bushes.
From the graveyard, an old foe, the Hollow Soldier, makes another appearance and
starts attacking the player.
You can re-use the implementation of Hollow Soldier from Assignment 1 & 2 (relating to runes) with
the exact same specifications, such as they cannot follow the player, they have 200 hit points, and so
on.
A new humanoid creature emerges from the huts, which is yet another enemy that the
player has to fight against, known as the “Eldentree Guardian” (represented by “e”). The
huts can spawn this enemy with a 20% chance at each turn. They have 250 hitpoints
and can attack the player with their limbs, dealing 50 damage with 80% accuracy. Once
defeated, they have a 25% chance of dropping a healing vial and a 15% chance of
dropping a refreshing flask. They also drop 250 runes when defeated. Additionally, they
can wander around if the player is not nearby or follow and attack the player if the
player is nearby. Finally, they can walk around in the Void with no consequences.
From the bushes, a “Living Branch” (represented by “?”) appears. The bushes can spawn
this enemy with a 90% chance at each turn. They have 75 hitpoints and deal 250
damage with 90% accuracy. Once defeated, they have a 50% chance of dropping a
Bloodberry. They also drop 500 runes when defeated. They cannot wander around and
follow the player. However, they can attack the player if the player is nearby. If they are
spawned on top of the Void, they cannot be damaged by the Void since they are immune.
Similar to previous Assignments, the new enemies cannot be spawned on or enter
floors and walls.
You may want to consider the following points in the design rationale:
- How many classes would you need to create for this requirement if you used the Assignment 1
sample solution?
- Do they contain some code duplications?
- Can you think of a potential design alternative? What would be the cons of the alternative design?
Which design did you end up using?
REQ2: The Blacksmith
Please note that the following actor will be added from the start of the game, not only after the player
enters The Overgrown Sanctuary.
Back in the building in the Abandoned Village, the player hears the rhythmic sound of a
hammer pounding against metal. Following the sound, the player discovers a
blacksmith (represented by “B”) working in the dark. Approaching the blacksmith allows
the player to upgrade their items and weapons.
You can assume that the blacksmith does not move around (that is, they will only stay at one spot in
the building).
You can put the blacksmith in the same building where the player first spawns.
When the blacksmith is nearby, the player can upgrade the following items and
weapons from their inventory:
• Each healing vial can be upgraded for 250 runes each. When consuming an
upgraded healing vial, the player’s health will be increased by 80% of their
maximum health
• Each refreshing flask can be upgraded for 175 runes each. When consuming an
upgraded refreshing flask, the player’s stamina will be increased by 100% of
their maximum stamina.
• Broadsword can be upgraded for 1000 runes. Each upgrade increases the
weapon’s damage by 10 points (not increasing the weapon’s damage multiplier).
To avoid making this weapon too powerful, the additional damage points from
the upgrades are not affected by the damage multiplier. That is, only the initial
110 damage points of the broadsword will be multiplied by the damage
multiplier, while the damage points obtained from performing the upgrades will
simply be added on top of the multiplied damage points. So, if the player uses
the focus skill on the broadsword that has been upgraded once, then the final
damage points will be 131, which is obtained from (110 * 1.1) + 10
• Great Knife can be upgraded for 2000 runes. Each upgrade increases the
weapon’s hit rate by 1 per cent.
• Giant hammer cannot be upgraded.
The player cannot sell any items to the blacksmith, and the player cannot attack the
blacksmith.
Update (9/10/2023):
Healing Vial and Refreshing Flask can only be upgraded once. Once Healing Vial or
Refreshing Flask have been upgraded, the player should not get an option to upgrade them.
On the other hand, Broadsword and Great Knife can be upgraded multiple times.
REQ3: Conversation (Episode I)
Please note that this functionality will be active from the start of the game, not only after the player
enters The Overgrown Sanctuary.
As the player awaits their weapons and items upgrades to complete, the blacksmith
decides to share their story and experience on the land of the lords with the player.
When the blacksmith is nearby, the player should be given the option to listen to the
monologue of the blacksmith. What the blacksmith says will be chosen randomly from
the following list of monologue options below. Note that some options can only be
performed when certain conditions are met.
The blacksmith’s monologue options:
• I used to be an adventurer like you, but then …. Nevermind, let’s get back to
smithing.
• It’s dangerous to go alone. Take my creation with you on your adventure!
• Ah, it’s you. Let’s get back to make your weapons stronger.
• If the player hasn’t defeated Abxervyer: Beyond the burial ground, you’ll
come across the ancient woods ruled by Abxervyer. Use my creation to slay
them and proceed further!
• If the player holds a great knife: Hey now, that’s a weapon from a foreign land
that I have not seen for so long. I can upgrade it for you if you wish.
• If Abxervyer has been defeated: Somebody once told me that a sacred tree
rules the land beyond the ancient woods until this day.
For example, if the player hasn’t defeated Abxervyer, hasn’t purchased a Great Knife
and chooses to talk to the blacksmith, possible monologue options are 1, 2, 3, and 4.
Once they buy a great knife before defeating Abxervyer, option 5 will be added to the
pool of options. Once they defeat Abxervyer, option 4 will be removed, while option 6
will be added to the list of options.
REQ4: Conversation (Episode II)
This functionality is a continuation of REQ 3
Additionally, the player should be able to listen to the monologue of the isolated
traveller found in the Ancient Woods (see Assignment 2 REQ 3). Similarly, what the
traveller says will be one option from the following list of options, chosen at random.
Some monologue options can only be performed when certain conditions are met.
Isolated traveller’s monologue options:
• Of course, I will never give you up, valuable customer!
• I promise I will never let you down with the quality of the items that I sell.
• You can always find me here. I'm never gonna run around and desert you, dear
customer!
• I'm never gonna make you cry with unfair prices.
• Trust is essential in this business. I promise I’m never gonna say goodbye to a
valuable customer like you.
• Don't worry, I’m never gonna tell a lie and hurt you.
• If the player holds a Giant Hammer: Ooh, that’s a fascinating weapon you got
there. I will pay a good price for it. You wouldn't get this price from any other
guy.
• If the player hasn’t defeated Abxervyer: You know the rules of this world, and
so do I. Each area is ruled by a lord. Defeat the lord of this area, Abxervyer, and
you may proceed to the next area.
• Once the player defeats Abxervyer & they still hold the giant hammer:
Congratulations on defeating the lord of this area. I noticed you still hold on to
that hammer. Why don’t you sell it to me? We've known each other for so long. I
can tell you probably don’t need that weapon any longer.
REQ5: A Dream?
Please note that starting from this requirement, whenever and wherever the player dies, the
functionality specified below will occur. In other words, this functionality will be active from the start of
the game, not only after the player enters The Overgrown Sanctuary.
During the battle, the player makes a small mistake and gets knocked out unconscious
by an enemy.
The player suddenly awakens right back in the building in the Abandoned Village where
their journey starts, realising that everything so far was all just a dream - or is it?
The Assignment 1 specification mentions that if the player dies due to any causes, the
game ends, and a “YOU DIED” message is displayed. In this requirement, you should
refactor the implementation as follows:
When the player dies, they will be respawned right back where they started their
journey, which is in the building in the middle of the Abandoned Village (see
Assignment 1 specification).
The maximum values of the player’s attributes will be kept as what it was before the
player dies, while the value of the attributes will be reset to full. For instance, the player
spawns with (150/150) hitpoints. Then, they consumed a bloodberry, which increased
their maximum health to 155. Once they respawned, their hitpoint should be (155/155)
instead of (150/150). This also applies to their other attributes, such as stamina.
The player should still keep every item that they carry in their inventory. For example, if
in the previous run of the game, the player picks up the broadsword, healing vials and
runes, they get to keep all of them when they respawn.
However, the runes in the player’s wallet (not in their inventory) will be reset back to 0.
These runes should be dropped in the last location where the player last stood. For
example, if the player carries 5 runes items in their inventory and has a 5000 runes
balance in their wallet, when they respawn, they get to keep the 5 runes items, but
their balance will be reset to 0. In the player’s last location, a new runes item will be
dropped containing the 5000 runes balance.
For simplicity, even if the runes balance in the player’s wallet is 0, you can still drop it
on the ground with 0 amount.
Don’t worry if the player dies due to stepping into the Void. The runes can still be dropped in the
location where the player last stood (the void). It is simply not recoverable. Optionally, you could drop
the runes at the location before the player enters the void. However, since this only improves the
gameplay, it will not be considered when marking.
All spawned enemies (not including bosses) will be removed from the map.
For bosses, their health will be reset to full if they have not been defeated.
Unlocked gates will be locked again.
All runes dropped in previous turns that the player did not pick up will also be wiped
from the map. This includes all runes dropped by enemies and the player. For instance,
in the previous turn, the player dies while carrying X amount of runes, the player’s
wallet balance will be reset to 0, and the X amount of runes are dropped in the last
location where the player stood. However, before picking up the X amount of runes
previously dropped, the player dies again. Then, the X amount of runes will be wiped
from the game, as they were not picked up by the player.
软件开发、广告设计客服
QQ:99515681
邮箱:99515681@qq.com
工作时间:8:00-23:00
微信:codinghelp
热点项目
更多
urba6006代写、java/c++编程语...
2024-12-26
代做program、代写python编程语...
2024-12-26
代写dts207tc、sql编程语言代做
2024-12-25
cs209a代做、java程序设计代写
2024-12-25
cs305程序代做、代写python程序...
2024-12-25
代写csc1001、代做python设计程...
2024-12-24
代写practice test preparatio...
2024-12-24
代写bre2031 – environmental...
2024-12-24
代写ece5550: applied kalman ...
2024-12-24
代做conmgnt 7049 – measurem...
2024-12-24
代写ece3700j introduction to...
2024-12-24
代做adad9311 designing the e...
2024-12-24
代做comp5618 - applied cyber...
2024-12-24
热点标签
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
软件定制开发网!