日韩精品一区二区三区高清_久久国产热这里只有精品8_天天做爽夜夜做爽_一本岛在免费一二三区

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

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

    合肥圖文信息
    2025年10月份更新拼多多改銷助手小象助手多多出評軟件
    2025年10月份更新拼多多改銷助手小象助手多
    有限元分析 CAE仿真分析服務-企業/產品研發/客戶要求/設計優化
    有限元分析 CAE仿真分析服務-企業/產品研發
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    出評 開團工具
    出評 開團工具
    挖掘機濾芯提升發動機性能
    挖掘機濾芯提升發動機性能
    海信羅馬假日洗衣機亮相AWE  復古美學與現代科技完美結合
    海信羅馬假日洗衣機亮相AWE 復古美學與現代
    合肥機場巴士4號線
    合肥機場巴士4號線
    合肥機場巴士3號線
    合肥機場巴士3號線
  • 短信驗證碼 目錄網 排行網

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

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

    日韩精品一区二区三区高清_久久国产热这里只有精品8_天天做爽夜夜做爽_一本岛在免费一二三区

      <em id="rw4ev"></em>

        <tr id="rw4ev"></tr>

        <nav id="rw4ev"></nav>
        <strike id="rw4ev"><pre id="rw4ev"></pre></strike>
        久久久久久亚洲精品中文字幕| 久久久久久久国产| 欧美日一区二区在线观看| 免费观看成人鲁鲁鲁鲁鲁视频| 国产一区av在线| 激情六月婷婷综合| 这里只有视频精品| 国产日韩欧美在线看| 亚洲一区二区三区在线播放| 免费成人av在线看| 亚洲国产精品v| 夜夜精品视频| 一区二区三区不卡视频在线观看| 精品动漫3d一区二区三区| 亚洲女爱视频在线| 亚洲一区精品电影| 久久久福利视频| 国产一区二区日韩精品欧美精品| 欧美日韩久久不卡| 欧美日韩国产美女| 欧美福利视频网站| 欧美日韩少妇| 亚洲电影欧美电影有声小说| 在线看日韩欧美| 激情亚洲网站| 国产精品视频免费在线观看| 在线观看日产精品| 亚洲日韩欧美一区二区在线| 欧美日本国产精品| 在线亚洲激情| 欧美大片在线看免费观看| 欧美极品一区二区三区| 亚洲精品国偷自产在线99热| 国产亚洲精品激情久久| 一区二区不卡在线视频 午夜欧美不卡'| 午夜精品久久久久久久久久久| 国产精品亚洲第一区在线暖暖韩国| 亚洲美女在线一区| 免费成人av| 美女脱光内衣内裤视频久久影院| 一本色道婷婷久久欧美| 一区二区在线视频观看| 亚洲日本在线观看| 99精品国产一区二区青青牛奶| 小辣椒精品导航| 亚洲九九九在线观看| 香蕉久久久久久久av网站| 美乳少妇欧美精品| 欧美一区二区三区在线| 久久国产精品一区二区三区| 亚洲电影激情视频网站| 国户精品久久久久久久久久久不卡| 欧美在线欧美在线| 欧美精品v日韩精品v韩国精品v| 亚洲国产精品久久人人爱蜜臀| 亚洲香蕉视频| 国产精品久久久久久久电影| 欧美福利影院| 亚洲国产精彩中文乱码av在线播放| 欧美日本不卡| 久久亚洲图片| 久久精精品视频| 久久精品一区二区三区不卡牛牛| 国产欧美精品| 亚洲视频在线观看| 久久精品导航| 国产亚洲a∨片在线观看| 老司机一区二区三区| 久久亚洲美女| 亚洲欧美日韩另类| 一本一本久久| 久久狠狠亚洲综合| 午夜精品久久99蜜桃的功能介绍| 亚洲激情成人网| 欧美高清视频www夜色资源网| 午夜精品www| 国产在线精品成人一区二区三区| 在线欧美亚洲| 亚洲综合首页| 1000部国产精品成人观看| 久久久久国产成人精品亚洲午夜| 国产专区欧美精品| 欧美日韩一视频区二区| 国产乱人伦精品一区二区| 在线精品国产成人综合| 亚洲国产精品一区在线观看不卡| 久久aⅴ国产欧美74aaa| 欧美日韩免费一区二区三区视频| 亚洲精品系列| 亚洲美女视频在线观看| 黄色成人在线观看| 国产最新精品精品你懂的| 欧美一级在线播放| 欧美小视频在线观看| 国产精品地址| 美女主播精品视频一二三四| 亚洲伊人一本大道中文字幕| 免费在线成人av| 91久久精品日日躁夜夜躁国产| 夜夜嗨网站十八久久| 国产在线欧美日韩| 亚洲激情一区二区三区| 国产在线视频不卡二| 韩国精品在线观看| 日韩一级二级三级| 亚洲欧美清纯在线制服| 国产精品久久久久国产精品日日| 日韩视频三区| 亚洲国产精品成人va在线观看| 欧美一区不卡| 久久精品国产v日韩v亚洲| 国产精品视频久久一区| 午夜精品一区二区在线观看| 日韩视频在线一区| 欧美在线亚洲一区| 中日韩美女免费视频网址在线观看| 久久色在线播放| 一卡二卡3卡四卡高清精品视频| 久久久五月婷婷| 一本色道久久88综合亚洲精品ⅰ| 亚洲精品一区二区三区不| 国产一区二区成人久久免费影院| 久久免费少妇高潮久久精品99| 亚洲精品美女91| 国产中文一区| 最新国产の精品合集bt伙计| 亚洲免费在线电影| 国产精品v欧美精品v日本精品动漫| 久久久国产一区二区三区| 国产精品入口福利| 欧美精品久久久久久久久老牛影院| 国产精品第一区| 国产综合色精品一区二区三区| 91久久在线观看| 蜜臀av性久久久久蜜臀aⅴ| 精品88久久久久88久久久| 亚洲国产精品免费| 国内不卡一区二区三区| 亚洲欧美一级二级三级| 欧美日韩不卡视频| 亚洲裸体视频| 国产精品久久久久久五月尺| 亚洲美女淫视频| 亚洲电影免费在线观看| 亚洲激情女人| 久久精品国产亚洲高清剧情介绍| 极品尤物av久久免费看| 国产日韩在线播放| 国产精品久久综合| 亚洲人成77777在线观看网| 欧美区高清在线| 亚洲午夜一区二区三区| 久久精品一区二区三区中文字幕| 亚洲永久网站| 欧美日韩免费在线观看| 欧美精品一区二区三区很污很色的| 欧美成人黄色小视频| 午夜精品久久久久久久99热浪潮| 亚洲日本久久| 亚洲尤物在线视频观看| 美女视频黄a大片欧美| 亚洲区在线播放| 欧美激情2020午夜免费观看| 亚洲成人资源网|