国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看

合肥生活安徽新聞合肥交通合肥房產生活服務合肥教育合肥招聘合肥旅游文化藝術合肥美食合肥地圖合肥社保合肥醫院企業服務合肥法律

代寫CS1010S、代做Python編程語言
代寫CS1010S、代做Python編程語言

時間:2025-04-26  來源:合肥網hfw.cc  作者:hfw.cc 我要糾錯



CS1010S, Semester II, 2024/2025 — Mission 6 1
National University of Singapore
School of Computing
CS1010S: Programming Methodology
Semester II, 2024/2025
Mission 6
Role Playing Game (RPG)
Release date: 7th April 2025
Due: 21st April 2025, 23:59
Required Files
• mission06-template.py
• engine.py
Background
There are many different RPG nowadays like Final Fantasy (Figure. 1), World of Warcraft,
or Dota. In this mission, we will implement 5 character classes to run our very own
turn-based RPG!
Figure 1: Example of turn-based combat in Final Fantasy VII. Two teams of characters,
each with unique abilities and roles, take turns to attack each other.
CS1010S, Semester II, 2024/2025 — Mission 6 2
Information
This mission consists of 5 tasks.
The following consists of the ADTs that have been implemented for you within engine.py.
engine.py is the foundation for this mission, so be sure to examine the provided class
definitions in the file, which will guide you in building and expanding your own classes.
Villager ADT
A Villager represents a character with attributes such as health, mana, strength, and
intelligence. Villager serves as the base class for all classes that you will create.
Constructor
• Villager() -> villager
Mutators
• set_max_health(health) -> None
• set_max_mana(mana) -> None
• set_strength(strength) -> None
• set_intelligence(intelligence) -> None
• set_cost(cost) -> None
Accessors
• get_max_health() -> max_health
• get_health() -> health
• get_max_mana() -> max_mana
• get_mana() -> mana
• get_strength() -> strength
• get_intelligence() -> intelligence
• get_cost() -> cost
Operations
• is_alive() -> bool
• heal(amount) -> None
• use_mana(amount) -> None
• regen_mana(amount) -> None
• receive_damage(damage) -> None
• act(ally_team, enemy_team) -> None
CS1010S, Semester II, 2024/2025 — Mission 6 3
Team ADT
A Team represents a collection of villagers participating in the Trial of Ancients. It provides
utility methods to manage and interact with the villagers.
Constructor
• Team(name) -> team
Mutators
• add_villager(villager) -> None
Accessors
• get_name() -> name
• get_all_alive() -> list_of_villagers
• get_all_dead() -> list_of_villagers
• get_num_alive() -> int
• get_num_dead() -> int
• get_rand_alive() -> villager
• get_rand_dead() -> villager
Game ADT
The Game class is the core component for simulating combat between two teams in the
Trial of Ancients. It alternates turns between the two teams, allowing their champions
to take actions until one team is completely defeated.
Constructor
• Game(gold, avail_types, play, seed) -> game
Creates a new game with the specified gold, available character types, play mode
(decides whether to show each round or not), and seed for random generator.
Mutators
• simulate() -> None
Runs the simulation, alternating turns until one team wins.
CS1010S, Semester II, 2024/2025 — Mission 6 4
Task 1: Fighter (4 marks)
A Fighter is a Villager that is brave and skilled while specializing in physical combat.
Fighters possess high health and strength, allowing them to deal significant damage
to their enemies. They are resilient champions who use brute force to dominate the
battlefield. The Fighter’s actions focus on targeting and attacking a random opponent,
showcasing their prowess in direct combat.
1. Implement the class, Fighter.
The constructor does not take any parameters. The fighter has 1200 Health and
100 Strength while costing 100 Gold.
2. Implement the method, act(), which would be called when the fighter is chosen to
act during their team’s turn.
When the fighter acts, he chooses a random enemy that is alive to attack, dealing
damage equal to his strength.
Sample execution:
# Team A fighter acts on an opponent fighter
" Team A member Fighter acts ."
" Hurt enemy Fighter for 100 damage ."
" Fighter hurt with remaining hp 1100 ."
Task 2: Mage (4 marks)
A Mage is a Villager skilled in harnessing magical energy to strike their foes or replenish
their mana. Mages have lower health but possess high intelligence, allowing them to
deal significant damage. During their turn, a Mage will either attack a random enemy
using their intelligence stat, consuming mana in the process, or regenerate mana if their
reserves are low. This strategic flexibility makes them valuable in any team.
1. Implement the class Mage, inherited from the Villager class.
The constructor does not take any parameters. The mage has 800 Health,400
Intelligence, 50 max mana, while costing 200 Gold.
2. Implement the method act(), which would be called when the mage is chosen to
act during their team’s turn.
When the mage acts, he chooses a random enemy that is alive to attack, dealing
damage equal to their intelligence, while consuming 20 mana in the process. If
the mage’s mana is less than 20, the mage will instead go into meditation, which
regenerates 30 mana instead of attacking the enemy.
Sample execution:
# Team A mage acts on an opponent fighter
" Team A member Mage acts ."
" Hurt enemy Fighter for 400 damage ."
" Fighter hurt with remaining hp 800."
# Team A mage acts , but does not have enough mana
" Team A member Mage acts ." # Mage has 10 mana
" Recovered mana to 40."
CS1010S, Semester II, 2024/2025 — Mission 6 5
Task 3: Berserker (3 marks)
The Berserker class is a Fighter who becomes more dangerous as they take damage.
Berserkers thrive in high-pressure situations, delivering devastating blows when their
health is low.
1. Implement the class, Berserker, inherited from the Fighter class.
The constructor does not take any parameters. A berserker has the same base
stats as a fighter (1200 health, 100 strength) but costs 200 gold. However, They
deal double damage if their health is lower than half of their maximum health.
2. Implement the method, get_strength(), which returns double the strength if the
berserker’s health is less than or equal to half of its maximum health, and regular
strength otherwise.
Sample execution:
# Team A berserker with more than half health acts on an opponent fighter
" Team A member Berserker acts ."
" Hurt enemy Fighter for 100 damage ."
" Fighter hurt with remaining hp 1100 ."
# Team A berserker with less than half health acts on an opponent fighter
" Team A member Berserker acts ."
" Hurt enemy Fighter for 200 damage ."
" Fighter hurt with remaining hp 1000 ."
Task 4: Archmage (4 marks)
The Archmage class is a Mage capable of casting devastating area-of-effect spells. Arch mages are formidable champions who can turn the tide of battle in critical moments.
1. Implement the class, Archmage, inherited from the Mage class.
The constructor does not take any parameters. An archmage has the same base
stats as a mage (800 health, 400 intelligence, 50 mana) but costs 600 gold.
2. Implement the method, act(), which behaves differently depending on the situ ation:
• If the archmage is the last ally alive and has at least 20 mana, they cast KABOOM!,
dealing double their intelligence as damage to all enemies and consuming 20
mana.
• Otherwise, the archmage behaves like a regular mage, attacking a random
enemy or regenerating mana if their reserves are low.
Sample execution:
# Team A archmage acts , casting KABOOM ! on all opponents
" Team A member Archmage acts ."
" Only one standing . Cast KABOOM ! on every enemy alive !"
" Hurt enemy Fighter for 800 damage ."
" Hurt enemy Mage for 800 damage ."
CS1010S, Semester II, 2024/2025 — Mission 6 6
Task 5: Necromancer (4 marks)
The Necromancer class is a mage with the ability to revive fallen allies. Necromancers
bring a unique strategic advantage to their team by restoring defeated champions to
continue the fight.
1. Implement the class, Necromancer, inherited from the Mage class.
The constructor does not take any parameters. A necromancer has the same base
stats as a mage (800 health, 400 intelligence, 50 mana) but costs 400 gold.
2. Implement the method, act(), which behaves differently depending on the situ ation:
• If the necromancer has at least 20 mana and there are dead allies, they revive
a random ally with half of their maximum health rounded down to the nearest
one (e.g., 400/800 or 350/701), consuming 20 mana in the process.
• Otherwise, the necromancer behaves like a regular mage, attacking a random
enemy or regenerating mana if their reserves are low.
Sample execution:
# Team A necromancer acts , reviving an ally
" Team A member Necromancer acts ."
" Reviving Fighter with 600 hp."

請加QQ:99515681  郵箱:99515681@qq.com   WX:codinghelp

掃一掃在手機打開當前頁
  • 上一篇:CHC5049代做、代寫SQL編程設計
  • 下一篇:STAT4602代寫、代做Java/Python編程
  • 無相關信息
    合肥生活資訊

    合肥圖文信息
    流體仿真外包多少錢_專業CFD分析代做_友商科技CAE仿真
    流體仿真外包多少錢_專業CFD分析代做_友商科
    CAE仿真分析代做公司 CFD流體仿真服務 管路流場仿真外包
    CAE仿真分析代做公司 CFD流體仿真服務 管路
    流體CFD仿真分析_代做咨詢服務_Fluent 仿真技術服務
    流體CFD仿真分析_代做咨詢服務_Fluent 仿真
    結構仿真分析服務_CAE代做咨詢外包_剛強度疲勞振動
    結構仿真分析服務_CAE代做咨詢外包_剛強度疲
    流體cfd仿真分析服務 7類仿真分析代做服務40個行業
    流體cfd仿真分析服務 7類仿真分析代做服務4
    超全面的拼多多電商運營技巧,多多開團助手,多多出評軟件徽y1698861
    超全面的拼多多電商運營技巧,多多開團助手
    CAE有限元仿真分析團隊,2026仿真代做咨詢服務平臺
    CAE有限元仿真分析團隊,2026仿真代做咨詢服
    釘釘簽到打卡位置修改神器,2026怎么修改定位在范圍內
    釘釘簽到打卡位置修改神器,2026怎么修改定
  • 短信驗證碼 豆包網頁版入口 破天一劍 目錄網 排行網

    關于我們 | 打賞支持 | 廣告服務 | 聯系我們 | 網站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 hfw.cc Inc. All Rights Reserved. 合肥網 版權所有
    ICP備06013414號-3 公安備 42010502001045

    国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看
    国产福利片一区二区| 国产成人艳妇aa视频在线| 秋霞成人午夜鲁丝一区二区三区| 国产综合在线看| 九九热只有这里有精品| 亚洲欧美国产精品桃花| 国产在线999| 日韩视频在线观看免费| 亚洲精品欧美精品| 成人精品水蜜桃| 国产精品久久久影院| 日韩视频第二页| 久久精品在线免费视频 | 91精品久久久久久久久中文字幕 | 粉嫩av四季av绯色av第一区| 不卡伊人av在线播放| 欧美精品免费观看二区| 丝袜美腿亚洲一区二区| 日韩欧美激情一区二区| 久久久久久网址| 青青视频在线播放| 久久久水蜜桃| 日本在线视频www| 久久一区免费| 日本高清视频一区二区三区| 国产成人一区二区三区电影| 日韩在线欧美在线国产在线| 日韩欧美亚洲区| 日韩一区二区福利| 欧美少妇在线观看| 国产精品久久久久久久久久小说 | 日韩网站在线免费观看| 国产黄页在线观看| 日韩免费观看网站| 国产成人三级视频| 国内精品在线观看视频| 国产精品成人一区二区三区| 国产日韩欧美在线播放| 美日韩精品免费观看视频| 国产欧美亚洲视频| 一区二区视频在线播放| 99国产在线| 欧美一级黄色影院| 国产成人精品午夜| 精品无码av无码免费专区| 黄色小视频大全| 日韩中文字幕一区二区| 国产一区国产精品| 欧美成人蜜桃| 国产欧美一区二区三区不卡高清| 91国内在线视频| 欧美精品videos性欧美| 波多野结衣综合网| 国产欧美在线一区二区| 日韩一区在线视频| 日韩美女在线观看| 91精品国产91久久久久福利| 国产99久久精品一区二区永久免费 | 久久躁狠狠躁夜夜爽| 国产不卡视频在线| 68精品国产免费久久久久久婷婷| 久久久久久久久91| 欧美精品videos| 日本精品一区二区三区不卡无字幕 | 欧美做受777cos| 久久精品视频在线| 国产美女精品视频| 伊人久久大香线蕉综合75| 九九九九九精品| 国产一区二区视频在线观看| 亚洲一区二区三区在线观看视频 | 国产精品一 二 三| 日韩av色综合| 色综合久久88色综合天天看泰| 久久一区二区三区欧美亚洲| 欧洲精品码一区二区三区免费看| 久久亚洲电影天堂| 久久综合色视频| 日韩美女免费视频| 国内精品久久影院| 丁香六月激情网| 亚洲影视九九影院在线观看| 国产成人久久婷婷精品流白浆| 国产免费黄色av| 青青草成人在线| 亚洲色欲综合一区二区三区| 色狠狠av一区二区三区香蕉蜜桃| 成人免费在线小视频| 欧美一区激情视频在线观看| 亚洲一区二区中文| 色噜噜久久综合伊人一本| 成人av影视在线| 黄色动漫在线免费看| 欧美理论电影在线观看| 精品成在人线av无码免费看| 成人免费淫片aa视频免费| 在线视频一区观看| 久久久精品国产亚洲| 97国产在线视频| 精品人妻人人做人人爽| 欧美一区二区三区综合 | 国产精品久久久久9999小说| 精品久久久久久亚洲| 精品一区二区三区视频日产| 一区二区三区av在线| 国产精品青青草| 国产精品久久久一区| 97精品视频在线| 国产日韩久久| 欧美亚洲国产视频| 日本一区精品| 欧美激情网站在线观看| 国产精品爽黄69| 国产激情久久久久| 欧美激情中文字幕乱码免费| 日韩av一区二区三区在线观看 | 日韩在线第三页| 在线观看日本一区| 国产精品高潮在线| 久久99国产精品| 久久99国产精品99久久| 91精品国产自产在线老师啪| 国产九九九九九| 国内精品久久久久久中文字幕| 日韩av片免费在线观看| 亚洲一区亚洲二区亚洲三区| 国产aⅴ夜夜欢一区二区三区| 国产精品国产三级欧美二区 | 久久国产精品久久久| 国产二区不卡| 国产成人一区二区在线| 116极品美女午夜一级| 国产经典一区二区三区| 成人免费xxxxx在线观看| 国产精选久久久久久| 日韩中文在线视频| 欧洲美女7788成人免费视频| 国产精品久久久久9999小说| 中文字幕欧美日韩一区二区三区| 国产精品久久在线观看| 久草一区二区| 久久久久久久久久久91| 国产成人无码a区在线观看视频| 久久精品国产精品国产精品污| 国产精品99久久久久久人| www黄色日本| 91精品国产综合久久男男| 91九色国产ts另类人妖| 国产v亚洲v天堂无码久久久| 久久久99国产精品免费| 日韩在线资源网| 久久天堂电影网| 美日韩精品视频免费看| 一本久道中文无码字幕av| 日韩中文字幕在线不卡| 日本一区二区三区精品视频| 欧美日韩成人一区二区三区| 97精品国产97久久久久久免费| 国产成人一二三区| 成人免费在线网| 114国产精品久久免费观看| 久久久久在线观看| www.日韩.com| 中文字幕人成一区| 亚州国产精品久久久| 日韩久久久久久久久久久久久| 日韩欧美不卡在线| 狠狠精品干练久久久无码中文字幕| 国产成人小视频在线观看| 久久久久久综合网天天| 美日韩精品免费视频| 欧美日韩性生活片| 中文一区一区三区免费| 国产精品福利小视频| 国产精品一区免费观看| 中文字幕综合在线观看| 久久这里只有精品23| 免费不卡av在线| 欧美在线视频免费| 九九九久久久| 欧美极品少妇无套实战| 欧美日韩激情四射| 91久久精品在线| 欧美日韩不卡合集视频| 黄色网在线视频| 久久亚洲国产成人| 国产精品亚洲综合| 欧美极品美女电影一区| 99在线国产| 一区二区三区免费看| 国产中文字幕视频在线观看| 69久久夜色精品国产69| 久久中文字幕国产| 亚洲精品一区二| 欧美日韩一区在线观看视频| 美媛馆国产精品一区二区| 日韩一区二区福利| 亚洲一区亚洲二区| 国产精品一区二区欧美| 国产精品久久久久不卡|