第 8 周,共 8 周
结课游戏制作
结课项目。学生规划并做出自己的 Python 小游戏,把一切结合起来:用变量记分、用 input 接收玩家的操作、用条件判断决定发生什么、用循环让游戏继续、用函数保持条理,再用列表加 random 让它保持新鲜。他们从一个能跑的骨架出发,把它改造成自己的作品。
- 预计时间
- 60 分钟(或分两次上)
- 项目
- 做出你自己的 Python 小游戏
核心思路
真正的程序是由你已经掌握的小块拼起来的,一次加一块。先有一份计划和一个能跑的骨架,然后加一个功能、测试它,之后再加下一个。一个能跑起来的小游戏就是真正的胜利——胜过一个永远跑不起来的大游戏。
你将学到什么
- 写代码之前先在纸上规划一个小游戏。
- 在一个程序里结合变量、输入、条件判断、循环、函数和随机。
- 测试游戏,找出 bug,并随手修好。
- 把骨架改造成属于自己的游戏。
新词汇
- 计划
- 在写代码之前写下的、关于程序该做什么的简短提纲。
- 骨架
- 一个能跑起来的小程序,你在它的基础上往上搭。
- 测试
- 用不同的输入运行你的程序,看看它是否正常。
- bug
- 代码里的错误,会让程序做错事。
项目:做出你自己的 Python 小游戏
编辑下面的初始代码,然后按“运行”看看效果。想回到原始代码,随时点“重置初始代码”。
main.py
终端
运行你的程序来查看输出。
预期输出
你叫什么名字? Alex
欢迎你,Alex!猜中我的秘密数字就算赢。
选一个 1 到 5 的数: 2
不对,再试一次。
选一个 1 到 5 的数: 4
不对,再试一次。
选一个 1 到 5 的数: 5
Alex,你用了 3 次就猜中了!小挑战
给玩家一点提示:在循环里,每猜错一次就打印「太小了」或「太大了」,就像你在第 5 周做的那样。
调试挑战
Python 指着 while 那一行报了语法错误。每一行开启代码块的语句——if、while、def——结尾都有同一个小符号。看看那行的末尾。
有错误的代码
secret = random.choice([1, 2, 3])
guess = 0
while guess != secret
guess = int(input("选一个数: "))查看答案隐藏答案
开启代码块的行要以冒号结尾:
while guess != secret:拓展挑战
把骨架重新设计成你自己的游戏:一轮问答、一个带选择的故事,或者一个刷最高分的挑战。至少用上一个列表、一个函数和一个循环。
回顾思考
你用这门课的八个概念做出了一个游戏。你最依赖哪一周的概念?为什么?
教师笔记
鼓励他们先在纸上写计划:目标是什么、玩家输入什么、程序回应什么。因为游戏用到了随机,把「预期输出」当成一个示例即可。要多肯定那些能跑起来的小游戏,而不是跑不起来的宏大构想。用一小段时间让学生互相玩对方的游戏,是很有力的收尾。
要带这节课吗?请查看 教师与图书馆员指南 ,里面有上课流程、常见错误,以及一个不用电脑的备用活动。
这节课完成了吗?标记为已完成,解锁下一周。