P9381 [THUPC 2023 决赛] 那些脑海里最珍贵的

题目传送门

这是本人第一次写大模拟的题解,望管理大大过审,万分感谢!

分析(会将每个部分的重点内容截出来+对应代码段):

做大模拟题时我们要每一段地去细心地读下去(特别是题目贼长的题,比如本题)。

【世界观】:

这个世界的人分为三类,根据其某种特点被直接命名为 W e a k Weak Weak A v e r a g e Average Average S t r o n g Strong Strong

enum HumanRace{
   
    Weak=0,
    Average=1,
    Strong=2;
}
【人物】:

一个人有以下几种属性值:种族、等级、体力上限、基础攻击指数、基础防御指数、主动技能等级、被动技能等级。

struct Human{
   
    HumanRace race;
    int level;
    int max_health;
    int base_attack;
    int base_defend;
    int active_skill_level;
    int passive_skill_level;
}
【武器】:

武器的属性只有两种:武器类型和武器攻击力。所有武器都有普通攻击和特殊攻击两种攻击方式。

武器有三种类型,分别叫做 B B B G G G M M M

enum WeaponKind{
   
    B=1,
    G=2,
    M=3
}
struct Weapon{
   
    WeaponKind kind;
    int attack;
}
【战场与队伍】:

这里定义了一个奇怪的战队顺序,目前看不出来有啥用,所以先放着不管。

【回合】:

每个回合中,只有一个人可以行动。


这一段讲了一下一个回合是啥。但是我们不知道什么是行动,故读完了这一段后并不能直接给出对应的代码。

【行动】:

整段都挺重要的,自己回去看题面,我这里就不粘上来了

enum Action{
   
    SimpleAttack=1,
    SpecialAttack=2,
    ActiveSkill=3,
}
【伤害计算】:

一个人的防御指数等于这个人的基础防御指数乘以队伍的防御加成。具体地,若一个人受到攻击

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值