单元四

第14课 random——随机事件与暴击掉落

任务场景:随机暴击与宝箱掉落
任务场景:随机暴击与宝箱掉落
原理图:随机事件——伤害、暴击、掉落
原理图:随机事件——伤害、暴击、掉落

一、任务目标

模拟一击伤害、暴击与随机掉落。

二、随机让每局不一样

  • random.randint(a, b):随机整数伤害
  • random.random() < 0.25:约 25% 概率暴击
  • random.choice(列表):随机掉落物

随机不是「随便写」,而是把「可能发生的事」列成规则,再交给概率去挑——这正是很多 Roguelike / RPG 事件的核心。

三、解题思路

任务:模拟一击伤害、暴击与随机掉落。 先想清楚:输入是什么、处理后得到什么、屏幕上应出现什么。

本课主要用到:屏幕输出。

  1. 1明确任务「模拟一击伤害、暴击与随机掉落。」:运行后你希望看到什么结果(文字、图形或计算结果)。
  2. 2用「打印」积木把结果说出来,确认屏幕上出现预期内容。
  3. 3写出判断条件:什么情况下走 A,什么情况下走 B。
  4. 4对照参考积木(或代码)跑通后,只改一个参数,观察结果如何变化。

流程示意(可对照左侧文字)

任务:模拟一击伤害、…用「打印」积木把结果说出来,…写出判断条件:什么情况下走…对照参考积木(或代码)跑通后,只改一…

四、图形块功能讲解

本课用到的 Mixly 图形块均已在前面的课讲过。请直接对照编程练习搭积木;若有遗忘,回到该积木首次出现的课页复习。

五、知识点讲解

—随机事件与暴击掉落:弄清本课概念定义、适用边界与可观察现象;用例子或仿真验证后再练习。

先弄清本课输入与输出,再进编程练习对照现象。

六、编程练习

用下拉列表切换题目;下方 Mixly 默认显示图形化积木。请在 Mixly 工具栏点「运行」;「检查」读取 Mixly 代码判题。

先阅读并运行,感受游戏循环。

参考代码(对照抄写到下方 Mixly)
import random
hp = 40
print("遭遇史莱姆 生命")
print(hp)
hit = random.choice([6, 7, 8, 9, 10, 11, 12])
print("伤害")
print(hit)
roll = random.choice(["暴击", "普通", "普通", "普通"])
if roll == "暴击":
    hit = hit * 2
    print("暴击伤害")
    print(hit)
else:
    print("普通一击")
hp = hp - hit
if hp < 0:
    hp = 0
print("剩余生命")
print(hp)
drops = ["药水", "金币", "无"]
print("掉落")
print(random.choice(drops))

七、课堂练习

选出你认为正确的一项,再点「检查」。

  1. random.random() < 0.2 大约表示?

  2. 暴击把伤害乘 2,属于游戏循环的?

  3. 「随机取一项」(从掉落列表)适合做?

八、本节小结

随机数让战斗与掉落有惊喜。