单元三
第12课 综合:简易RPG回合战

一、任务目标
综合运用变量、循环、分支、列表或字典与函数,完成一回合或多回合的攻防。
二、我们要学什么
- 学习要点:简易RPG回合战|综合
- 本课过关:能完成:说出一回合包含选择、更新血量、打印结果;载入体验程序,指出战斗在血量归零或回合结束时停止;改伤害后战况跟着变。
- 示例对齐:体验题对应本课「编程体验」;完整代码对应编程题1;补全与独立编写对应编程题2–3。均在 Mixly 图形化积木中完成。
三、本节要点
本课要综合已学结构完成战斗。重难点是每回合都要更新状态并判断是否结束。要点对齐「简易RPG回合战|综合」。
1读场景明确真实任务
2对要点简易RPG回合战|综合
3载入运行图形化积木
四、解题思路
任务:完成简易回合战斗。请分清每回合的输入、更新与输出。
本课主要用到:屏幕输出。
- 1明确任务「打完一局」:须有开始、回合更新与结束条件。
- 2每回合读取或选择动作,更新双方生命值并打印。
- 3改伤害或初始血量后重跑,观察回合数是否变化。
流程示意(可对照左侧文字)
五、图形块讲解
本课用到的 Mixly 图形块均已在前面的课讲过。请直接对照编程练习搭积木;若有遗忘,回到该积木首次出现的课页复习。
六、知识点讲解
回合战把游戏循环落到每一回合:选择动作→更新生命值→打印战况,直到一方生命值归零。本课综合变量、分支、循环与函数,不引入新语法。
先弄清:每回合都要更新并判断结束;再进编程练习对照战况。
七、编程练习
用下拉列表切换题目;下方 Mixly 默认显示图形化积木。请在 Mixly 工具栏点「运行」;「检查」读取 Mixly 代码判题。
先阅读并运行,感受游戏循环。
参考代码(对照抄写到下方 Mixly)
skills = ["攻击", "治疗"]
print("技能:", skills[0], "/", skills[1])
def attack(hp, power):
hp2 = hp - power
if hp2 < 0:
hp2 = 0
return hp2
hero = 40
foe = 40
round_n = 1
while hero > 0 and foe > 0:
print("==== 第", round_n, "回合 ====")
foe = attack(foe, 11)
print("敌人生命", foe)
if foe <= 0:
break
hero = attack(hero, 7)
print("英雄生命", hero)
round_n = round_n + 1
if hero > 0:
print("你获胜了!")
else:
print("战败了…")
正在载入编程环境
正在载入 Mixly 图形化编程环境…
八、课堂练习
先完成两道正误判断,再做其余题目;选出后点「检查」。
判断:双方生命都大于 0 时继续战斗;有一方归零则结束。
判断:只要循环打印「战斗开始」而不改血量,也算完整的回合战。
「当双方生命都大于 0」表示?
技能名放在列表里,便于?
用函数计算扣血,主要是为了?
九、本节小结
本课主题是回合战综合:每回合选择、更新、输出,直到战斗结束。