单元五
第18课 简单class——给角色做一张卡片

一、任务目标
理解类把同一类角色的数据与动作放在一起,能创建角色对象并读取其生命值或名字。
二、我们要学什么
- 学习要点:简单class|角色卡片
- 本课过关:能完成:说出对象是按类创建出来的具体角色;载入体验程序,指出两个角色可以有不同生命值;改其中一个对象的属性,另一个不变。
- 示例对齐:体验题对应本课「编程体验」;完整代码对应编程题1;补全与独立编写对应编程题2–3。均在 Mixly 图形化积木中完成。
三、本节要点
本课要认识简单的类与对象。重难点是类是模板,对象是具体实例,二者不要混用。要点对齐「简单class|角色卡片」。
1读场景明确真实任务
2对要点简单class|角色卡片
3载入运行图形化积木
四、解题思路
任务:用类做出角色卡片并打印属性。请分清:类是模板,对象是具体角色。
本课主要用到:屏幕输出。
- 1明确任务「两张角色卡」:两个对象的属性可以不同。
- 2定义类后创建对象,再打印名字与生命值。
- 3只改一个对象的属性,确认另一个保持原值。
流程示意(可对照左侧文字)
五、图形块讲解
本课用到的 Mixly 图形块均已在前面的课讲过。请直接对照编程练习搭积木;若有遗忘,回到该积木首次出现的课页复习。
六、知识点讲解
类是角色的模板,对象是按模板创建的具体角色。本课给角色做卡片——同一类可以做出多个对象,各自保存自己的名字与生命值。只要求会创建与读取属性,不展开继承等较难内容。
先弄清:模板与实例不同;再进编程练习对照两张卡片。
七、编程练习
用下拉列表切换题目;下方 Mixly 默认显示图形化积木。请在 Mixly 工具栏点「运行」;「检查」读取 Mixly 代码判题。
先阅读并运行,感受游戏循环。
参考代码(对照抄写到下方 Mixly)
def make_hero(name, hp):
return {"name": name, "hp": hp}
def status(hero):
print(hero["name"], "生命", hero["hp"])
def hurt(hero, dmg):
hp2 = hero["hp"] - dmg
if hp2 < 0:
hp2 = 0
hero["hp"] = hp2
def heal(hero, n):
hero["hp"] = hero["hp"] + n
player = make_hero("小飞", 100)
status(player)
hurt(player, 25)
status(player)
heal(player, 10)
status(player)
正在载入编程环境
正在载入 Mixly 图形化编程环境…
八、课堂练习
先完成两道正误判断,再做其余题目;选出后点「检查」。
判断:本课只要求会创建与读取属性,不展开继承。
判断:创建一个英雄对象后,游戏里所有角色的生命值都会变成同一个数。
按同一模板做出 player 和 monster,它们的生命值?
make_hero 或创建角色对象,主要时机是?
hurt(player, 25) 更接近?
九、本节小结
本课主题是类与对象:类是模板,对象是具体角色。同一类可做出属性不同的多个对象。