99爱在线视频这里只有精品_窝窝午夜看片成人精品_日韩精品久久久毛片一区二区_亚洲一区二区久久

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

代寫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編程
  • 無相關信息
    合肥生活資訊

    合肥圖文信息
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    出評 開團工具
    出評 開團工具
    挖掘機濾芯提升發動機性能
    挖掘機濾芯提升發動機性能
    海信羅馬假日洗衣機亮相AWE  復古美學與現代科技完美結合
    海信羅馬假日洗衣機亮相AWE 復古美學與現代
    合肥機場巴士4號線
    合肥機場巴士4號線
    合肥機場巴士3號線
    合肥機場巴士3號線
    合肥機場巴士2號線
    合肥機場巴士2號線
    合肥機場巴士1號線
    合肥機場巴士1號線
  • 短信驗證碼 豆包 幣安下載 AI生圖 目錄網

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

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

    99爱在线视频这里只有精品_窝窝午夜看片成人精品_日韩精品久久久毛片一区二区_亚洲一区二区久久

          国产精品自拍小视频| 国产精品大片| 亚洲欧美三级伦理| 亚洲影视中文字幕| 久久精品一级爱片| 午夜精品久久久久久久| 久久国产精品色婷婷| 亚洲午夜高清视频| 亚欧成人在线| 欧美三级视频在线| 亚洲第一精品福利| 亚洲欧美日韩一区在线| 在线播放中文一区| 99国产欧美久久久精品| 久久aⅴ国产欧美74aaa| 国产情人综合久久777777| 亚洲第一精品福利| 性欧美暴力猛交另类hd| 欧美激情一区二区三区在线视频| 国产一区二区久久| 午夜欧美理论片| 国产精品亚洲不卡a| 午夜精品一区二区三区电影天堂| 欧美日韩一区二区在线播放| 欧美激情女人20p| 久久精品人人做人人爽电影蜜月| 亚洲国产精品久久人人爱蜜臀| 亚洲欧美另类在线| 欧美日韩在线精品一区二区三区| 99国内精品| 国产欧美精品国产国产专区| 宅男精品导航| 久久午夜电影| 欧美日韩99| 亚洲午夜在线| 亚洲全部视频| 一区免费观看视频| 欧美日韩在线不卡| 欧美在线免费观看亚洲| 亚洲美女中出| 精品成人a区在线观看| 国产日产精品一区二区三区四区的观看方式| 日韩性生活视频| 久久性色av| 亚洲一区二区三区在线看| 国产一区二区按摩在线观看| 欧美日韩在线另类| 欧美日本久久| 欧美日韩极品在线观看一区| 久久精品亚洲国产奇米99| 国产精品视频久久久| 亚洲国产精品电影在线观看| 国产欧美日韩综合精品二区| 欧美乱人伦中文字幕在线| 久久人人97超碰人人澡爱香蕉| 亚洲欧美国产制服动漫| 午夜精品久久久| aa国产精品| 亚洲深夜激情| 国产午夜精品理论片a级探花 | 99re6这里只有精品视频在线观看| 国产精品久久久久久久久久尿| 久久久噜噜噜久久中文字免| 中文一区二区在线观看| 亚洲国产91| 欧美日韩一区高清| 国产乱人伦精品一区二区| 欧美精品一区二区三区久久久竹菊| 欧美大片网址| 欧美另类视频| 国内一区二区在线视频观看| 国产精品午夜av在线| 国产综合在线看| 亚洲一区二区三区国产| 久久精品91| 欧美三级午夜理伦三级中文幕 | 欧美激情欧美激情在线五月| 欧美在线999| 一区二区三区视频观看| 亚洲无吗在线| 日韩一级免费观看| 久久人人97超碰精品888| 国产精品v一区二区三区 | 亚洲精品国产精品乱码不99| 在线一区亚洲| 久久久精品一区| 亚洲第一区中文99精品| 久久天堂av综合合色| 国产精品久久久久高潮| 日韩一级免费观看| 国产精品hd| 亚洲尤物视频在线| 国产精品chinese| 久久国产精品一区二区三区| 国产精品初高中精品久久| 亚洲国产精品免费| 久久久综合网| 亚洲韩国青草视频| 欧美日韩亚洲一区| 中文亚洲视频在线| 红桃av永久久久| 久久综合九色99| 99伊人成综合| 国产精品一区毛片| 久久久久久亚洲精品不卡4k岛国| 国产一区二区三区久久| 免费精品99久久国产综合精品| 99一区二区| 国产日产欧产精品推荐色| 麻豆精品精品国产自在97香蕉| 麻豆91精品91久久久的内涵| 日韩午夜av电影| 欧美午夜精品久久久久久浪潮 | 亚洲理论在线| 国产在线国偷精品产拍免费yy| av不卡免费看| 国模精品一区二区三区| 欧美日韩高清在线播放| 久久久久久久久久久一区| 这里只有精品视频在线| 狠狠色综合网| 黄色日韩网站| 亚洲成人在线网站| 国模私拍视频一区| 精品1区2区| 亚洲人成久久| 亚洲乱码日产精品bd| 国产亚洲精品aa午夜观看| 欧美日韩视频在线一区二区| 久久久久久久一区二区| 国内精品久久久久影院 日本资源| 欧美亚洲一级| 国产欧美69| 亚洲国产精品va在看黑人| 激情综合激情| 9i看片成人免费高清| 91久久在线播放| 亚洲国产精品久久91精品| 亚洲日本无吗高清不卡| 亚洲免费人成在线视频观看| 亚洲精品1区2区| 欧美日韩国产成人精品| 亚洲少妇在线| 欧美精品导航| 一区二区三区在线观看欧美| 国内精品久久久久影院 日本资源| 一本色道久久99精品综合| 欧美成人在线免费视频| 亚洲精品麻豆| 欧美日韩另类视频| 亚洲午夜av电影| 国产亚洲欧美一区二区| 久久综合网络一区二区| 日韩亚洲在线观看| 国产精品女主播在线观看| 久久经典综合| 亚洲精品一区中文| 国产女主播一区| 欧美黄免费看| 久久久久久69| 亚洲一区二区3| 亚洲日本中文字幕| 国产女人精品视频| 欧美精品国产精品| 久久久久一区| 亚洲自啪免费| 亚洲天天影视| 亚洲精品综合在线| 亚洲国产欧美国产综合一区 | 亚洲一区免费观看| 亚洲黄色免费电影| 在线播放亚洲一区| 激情欧美亚洲| 一区二区三区在线观看国产| 国产一区二区剧情av在线| 欧美三日本三级少妇三2023| 欧美日韩国产成人精品| 欧美福利电影在线观看| 欧美激情一二区| 欧美系列电影免费观看| 国产精品一香蕉国产线看观看| 欧美视频免费| 精品不卡在线| 99热在这里有精品免费| 亚洲一区精品在线| 欧美一区二区三区视频在线观看| 亚洲欧美日韩精品在线| 欧美一级视频| 免费在线观看精品| 国产精品成人在线| 精品999久久久| 国产精品99久久久久久久久 | 亚洲欧美日本国产有色| 久久久久久自在自线| 国产精品高潮呻吟视频| 一区精品在线| 亚洲一区亚洲二区| 欧美日韩成人| 黄色成人av网| 亚洲欧美日韩一区二区三区在线|