91精品国产91久久久久久_国产精品二区一区二区aⅴ污介绍_一本久久a久久精品vr综合_亚洲视频一区二区三区

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

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

    91精品国产91久久久久久_国产精品二区一区二区aⅴ污介绍_一本久久a久久精品vr综合_亚洲视频一区二区三区
    日韩一区二区免费看| 日韩欧美自拍偷拍| 国产成人精品午夜视频免费| 久久久久久久久久久久久久久99| 国产乱码精品| 成人伦理片在线| 一区二区三区日韩欧美| 宅男噜噜噜66一区二区66| 亚洲国产婷婷| 国产精品88888| 亚洲永久精品大片| 欧美精品一区二区三区视频 | 中文字幕国产一区二区| 在线视频国内自拍亚洲视频| 91欧美一区二区| 蜜臀av性久久久久蜜臀aⅴ四虎| 久久久精品影视| 欧美日韩精品欧美日韩精品一 | 成人深夜福利app| 午夜精品久久久久久久| 国产午夜精品一区二区三区嫩草 | 国产精品久久久一区二区三区| 国产成人午夜99999| 亚洲电影一区二区| 国产天堂亚洲国产碰碰| 欧美男男青年gay1069videost| 一区二区毛片| 欧美1区2区3区| 国产成人在线视频网址| 天堂成人国产精品一区| 亚洲日本电影在线| 久久综合国产精品| 欧美一区二区三区四区五区| 另类图片国产| 亚洲国产精品久久久久久女王| 成人免费观看男女羞羞视频| 日韩电影在线一区| 一区二区三区中文字幕精品精品| 国产亚洲精品7777| 欧美成人vr18sexvr| 欧美精品在线观看一区二区| 国产精品一区视频| 欧美成人日本| 99精品偷自拍| 成人免费高清在线| 国产伦精一区二区三区| 日韩不卡一区二区三区| 亚洲线精品一区二区三区八戒| 国产精品免费网站在线观看| 久久综合久久综合久久| 日韩一区国产二区欧美三区| 在线精品亚洲一区二区不卡| 亚洲一区日韩在线| 99精品99久久久久久宅男| 国内精品久久久久久久果冻传媒| 99久久综合国产精品| 国产99久久久国产精品潘金| 精品一区二区国语对白| 老汉av免费一区二区三区| 午夜电影一区二区| 亚洲电影中文字幕在线观看| 亚洲一区二区精品视频| 一区二区三区91| 亚洲黄色av一区| 亚洲精选一二三| 亚洲美女淫视频| 亚洲精品高清在线| 亚洲激情成人在线| 亚洲一区视频在线| 亚洲成人免费电影| 天堂成人免费av电影一区| 日韩福利视频网| 久久精品国产在热久久| 国产中文字幕精品| 国产精品亚洲专一区二区三区| 国产黑丝在线一区二区三区| 国产麻豆精品在线| www.一区二区| 欧美二区不卡| 精品1区2区3区4区| 亚洲免费高清| 久久精品中文| 欧美在线一区二区三区| 欧美久久一区二区| 日韩视频123| 国产婷婷色一区二区三区在线| 国产精品视频第一区| 中文字幕亚洲欧美在线不卡| 亚洲麻豆国产自偷在线| 亚洲国产精品一区二区尤物区| 三级欧美韩日大片在线看| 蜜臀av一级做a爰片久久| 国产电影精品久久禁18| av一区二区三区在线| 国内精品久久久久久久97牛牛| 国产视频亚洲| 在线观看亚洲一区| 日韩欧美国产系列| 日本一区二区三区国色天香 | 亚洲国产成人av| 蜜臀av一区二区三区| 粉嫩av一区二区三区粉嫩 | 亚洲人成免费| 色婷婷av一区二区三区软件| 欧美日韩国产综合草草| 欧美电影免费观看高清完整版在| 国产欧美日韩在线看| 亚洲精品成人精品456| 日本成人中文字幕| 国产精品一级二级三级| 欧美69视频| 久久国产精品一区二区三区| 欧美一区二区久久久| 中文字幕不卡的av| 三级亚洲高清视频| 99久久免费国产| 国产乱码精品| 日韩美女主播在线视频一区二区三区 | 一区二区三区在线免费| 久久国产尿小便嘘嘘尿| 色综合久久综合中文综合网| 国产伦精品一区| 欧美成人一级视频| 亚洲精品网站在线观看| 精品一区二区影视| 欧美三级网页| 欧美性受极品xxxx喷水| 国产欧美日韩在线观看| 日本中文一区二区三区| av在线不卡电影| 久久青青草原一区二区| 精品免费99久久| 亚洲成人综合网站| 成人h精品动漫一区二区三区| 亚洲视频日本| 欧美日本在线视频| 中文字幕制服丝袜一区二区三区 | 8v天堂国产在线一区二区| 中文字幕在线不卡国产视频| 美女网站视频久久| 欧美视频久久| 欧美一区二区三区婷婷月色| 亚洲黄色在线视频| k8久久久一区二区三区| 久久午夜精品一区二区| 国产欧美日韩在线| 精品一区二区三区免费| 亚洲欧洲精品一区二区| 欧美一级理论片| 天天做天天摸天天爽国产一区| 色综合色综合色综合 | 日韩av网站在线观看| 欧美亚韩一区| 欧美日韩在线三级| 亚洲精品成人少妇| 91免费在线视频观看| 欧美性猛片aaaaaaa做受| 亚洲视频免费在线观看| 成人中文字幕合集| 91福利小视频| 一区二区久久久久久| 91蝌蚪porny| 欧美一级日韩一级| 日韩va亚洲va欧美va久久| 亚洲欧美日韩一区二区| 成人黄色av电影| 欧美性一二三区| 欧美日韩国产欧美日美国产精品| 欧美剧情片在线观看| 国产欧美一区二区在线| 国产精品一区二区男女羞羞无遮挡| 国产情侣一区| 国产精品午夜春色av| 成人丝袜18视频在线观看| 欧美体内she精高潮| 亚洲成人精品一区二区| 在线观看的日韩av| 久久久精品欧美丰满| 国产成人免费视频网站| 欧美在线免费观看视频| 香蕉加勒比综合久久| 亚洲欧洲在线一区| ...xxx性欧美| 欧美性大战久久久久| 国产亚洲制服色| 99久久久久免费精品国产 | 精品一区二区在线视频| 久久精品综合| 婷婷一区二区三区| 国产婷婷精品| 亚洲日本中文字幕区| 一区二区三区我不卡| 国产精品丝袜91| 91猫先生在线| 国产午夜三级一区二区三| 91蜜桃婷婷狠狠久久综合9色| 日韩欧美久久一区| 国产麻豆精品一区二区| 日韩一区二区三区观看| 国产做a爰片久久毛片|