国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女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怎么修改定
  • 短信驗證碼 寵物飼養 十大衛浴品牌排行 suno 豆包網頁版入口 wps 目錄網 排行網

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

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

    国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看
    亚洲爆乳无码专区| 丁香色欲久久久久久综合网| 美日韩精品免费观看视频| 欧美激情亚洲视频| 免费观看亚洲视频| 国产精品视频在线播放| 青青久久av北条麻妃黑人| 国产高清一区二区三区| 天堂а√在线中文在线| 91精品国产高清自在线| 一区视频二区视频| 男人添女人下部高潮视频在观看| 久久人人爽爽人人爽人人片av| 一区二区视频在线观看| 精品无码久久久久久久动漫| 国产精品日韩在线一区| 欧美激情亚洲天堂| 国产精品视频500部| 日本不卡一区二区三区四区| 久久av秘一区二区三区| 日本精品国语自产拍在线观看| 91国产中文字幕| 亚洲一区二区三区午夜| 91精品中文在线| 亚洲不卡中文字幕无码| 97久久天天综合色天天综合色hd| 中文字幕在线观看一区二区三区| 国产乱子伦精品无码专区| 精品国产一区二区三区麻豆小说| 国产欧美在线一区| 一区二区免费在线观看| 国产精品91久久| 热草久综合在线| 日韩在线观看免费| 国内一区在线| 欧美激情中文网| 久久久视频精品| 欧美一级二级三级| 超在线视频97| 97国产精品视频| 日韩少妇内射免费播放| 精品国产一区二区三区在线观看| 蜜桃日韩视频| 亚洲日本理论电影| 色偷偷888欧美精品久久久| 欧美日韩国产精品激情在线播放| 久热99视频在线观看| 国产欧美丝袜| 亚洲18私人小影院| 久草精品电影| 精品少妇人妻av免费久久洗澡| 一区二区在线观看网站| 国产成人亚洲综合| 欧美在线视频a| 国产aaa免费视频| 久久频这里精品99香蕉| 欧美亚洲日本网站| 精品成在人线av无码免费看| 91久久久在线| 黄在线观看网站| 亚洲a区在线视频| 国产精品免费一区豆花| 97久久国产亚洲精品超碰热| 日本一二三区视频在线| 国产精品久久久久9999爆乳| 91av免费看| 国模极品一区二区三区| 熟女视频一区二区三区| 国产精品久久久久久久av大片 | 国产精品久久久久久搜索| 国产精品亚洲激情| 欧洲美女7788成人免费视频| 这里只有精品66| 国产精品爽爽ⅴa在线观看| 99久久国产免费免费| 男人天堂新网址| 无码日韩人妻精品久久蜜桃| 国产精品欧美风情| 久久综合久久久| 国产精品一区二区久久久| 欧美性在线观看| 午夜精品视频在线| 精品国产乱码久久久久久郑州公司 | 日本韩国欧美精品大片卡二| 欧美乱人伦中文字幕在线| 国产成人在线小视频| 国产在线资源一区| 青青精品视频播放| 欧美一区二区三区艳史| 欧美日韩成人黄色| 国产精品二区二区三区| www.色综合| 国产白丝袜美女久久久久| 国产精品一区二区3区| 国产在线观看一区二区三区| 欧美一级成年大片在线观看| 日本一区二区不卡高清更新| 亚洲xxxx视频| 亚洲自偷自拍熟女另类| 久久的精品视频| 国产精品青青草| 国产xxx69麻豆国语对白| 99精品一级欧美片免费播放| 国产尤物99| 黄网站色视频免费观看| 欧美中文在线视频| 日av中文字幕| 日韩精品免费播放| 少妇高潮流白浆| 日韩一级片免费视频| 亚洲精品成人久久久998| 亚洲一区高清| 亚洲午夜精品久久| 精品国产乱码久久久久久108| 国产精品久久久久久久久久三级| 日韩少妇与小伙激情| 国产freexxxx性播放麻豆| 国产精品99久久久久久久久久久久| 国产精品亚洲视频在线观看| 国产亚洲情侣一区二区无| 国产日韩精品综合网站| 国产一区二区网| 国产一区二区视频在线观看| 国产一区二区在线播放| 国产日产精品一区二区三区四区 | 日韩欧美黄色大片| 日韩视频第二页| 日本午夜精品电影| 日韩欧美国产综合在线| 欧美视频在线第一页| 激情内射人妻1区2区3区| 黄色91av| 国产伦理一区二区三区| av不卡在线免费观看| 国产精国产精品| 久久久噜噜噜久久| 国产成人精品视频免费看| 日韩在线欧美在线国产在线| 国产精品入口尤物| 欧美成人一区在线| 中文字幕一区二区三区精彩视频| 国产99久久精品一区二区 夜夜躁日日躁 | 日韩精品一区二区三区电影| 欧美亚洲黄色片| 国产日本欧美一区二区三区在线| 国产精品主播视频| 91高清免费视频| 日韩在线视频播放| 国产精品九九九| 亚洲伊人久久综合| 日韩亚洲欧美一区二区| 免费在线观看日韩视频| 国产九九九九九| 久久久一本二本三本| 久久久精品久久久久| 久久99久久亚洲国产| 午夜精品久久久久久久男人的天堂 | 国产精品久久久久久一区二区| 欧美激情在线视频二区| 天堂一区二区三区| 男人天堂成人在线| 9a蜜桃久久久久久免费| 久久久亚洲欧洲日产国码aⅴ| www.日韩av.com| 伊人久久青草| 欧美性大战久久久久| 国产精品又粗又长| 色偷偷av一区二区三区| 欧美成人一二三| 日本久久高清视频| 国产女教师bbwbbwbbw| 久久久成人精品一区二区三区| 国产精品久久久久久久久久久久午夜片 | 久久五月天婷婷| 国产精品激情av在线播放| 亚洲精品国产系列| 欧美 日本 亚洲| 久久久在线免费观看| 精品伦精品一区二区三区视频 | 国产精品午夜视频| 久久久久久久久久久久久久国产| 久久999免费视频| 欧美在线一级视频| 99热在线国产| 久久精品99国产精品酒店日本| 在线观看一区欧美| 激情深爱综合网| 国产成人一区二区三区| 在线免费观看一区二区三区| 欧美连裤袜在线视频| 国产极品精品在线观看| 欧美日韩高清区| 激情图片qvod| 久久久久久久久久网| 亚洲国产精品日韩| 国产欧美欧洲| 国产精品免费在线播放| 日产精品高清视频免费| 国产精品一区在线播放| 国产精品秘入口18禁麻豆免会员|