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

        代寫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

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

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

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

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

        主站蜘蛛池模板: 成人区人妻精品一区二区三区| 精品久久综合一区二区| 高清无码一区二区在线观看吞精| 日韩亚洲AV无码一区二区不卡| 免费无码VA一区二区三区| 亚洲字幕AV一区二区三区四区| 国产在线观看一区二区三区四区 | 国产一区二区免费视频| 91亚洲一区二区在线观看不卡| 伊人久久一区二区三区无码| 一区二区三区影院| 人妖在线精品一区二区三区| 日本人真淫视频一区二区三区| 激情一区二区三区| 亚洲片一区二区三区| 成人精品一区久久久久| 国产福利91精品一区二区三区| 国产午夜毛片一区二区三区| 国产一区二区在线| 亚洲国产一区在线观看| 亚洲一区二区三区四区在线观看 | 亚洲国产一区二区三区| 国产成人久久精品区一区二区| 岛国精品一区免费视频在线观看| 在线观看精品一区| 日韩一区在线视频| 丰满岳妇乱一区二区三区| 日韩经典精品无码一区| 在线观看一区二区三区视频 | 国产成人综合精品一区| 免费高清av一区二区三区| 一区二区无码免费视频网站| 亚洲AV日韩综合一区尤物| 亚洲性无码一区二区三区| 精品久久久久久中文字幕一区| 国产香蕉一区二区三区在线视频| 在线精品一区二区三区电影| 在线播放精品一区二区啪视频| 丰满人妻一区二区三区视频| 国产精品主播一区二区| 美女啪啪一区二区三区|