点击 蘑菇云创造 关注我们
第九课 弹球小游戏积分版
系列课程:
一、学习背景
经过上节课的学习,我们了解了python中的逻辑运算符、学习了列表的索引以及类的实例方法的创建。同时,也学会了使用tkinter库实现键盘交互的方法。在上节课中,我们利用tkinter库及python知识设计了一个弹球小游戏,那么这节课,我们将在上节课的基础上,进一步优化弹球小游戏,使其更加有趣起来!
二、学习目标
本实践项目通过编写python程序来设计一个积分版的弹球小游戏。
知识目标:
1、掌握python中常见的赋值运算符
技能目标:
1、掌握使用tkinter库在界面上实时计算得分的方法
三、学习准备
1、电脑
2、mind+编程软件
四、学习实践
在本项目中,我们将创建两个python程序分别来对弹球小游戏进行优化。之后运行程序,通过按动键盘上的不同按钮,实现弹球小游戏的游戏效果。
1.添加积分功能及启动和停止按键
2.设置游戏在不同时间段的难度不同
任务1游戏玩法机制:游戏开始时,一个小球和球拍分别现身于窗口界面的中间和底部。在游戏界面的右上方有键盘控制的提示文字,以及实时显示的得分数。
之后我们通过键盘的“向下”键和“向上”键控制游戏的开始和停止,左右两个方向键控制球拍的移动,来接住下落的小球。小球遇到界面的上边缘及左右两侧面则反弹回来。若成功接住,小球则再次向上反弹,并计一分。倘若未能接住小球,使得小球与界面下边缘接触,则游戏结束。
任务2游戏玩法机制:游戏整体控制方式不变,添加难度变化,当得分越高,小球的移速越快,得分数达到18分时,即可获胜。
任务1:添加积分程序设计
这个程序中,我们将分三步创建这个程序。首先是分析任务,之后进行程序的编写,最后运行程序并观察效果。
1、任务分析
在这个任务中,我们将为游戏添加计分和控制启停的功能。
整体上我们按照顺序结构的方式编写程序,具体流程如下,

其中,为了设置游戏的启动和停止,我们需要在球拍类中再添加两个方法,并绑定在键盘的“向下”和“向上”两个按键上,同时在画布右上方添加操作的提示文字,球拍类的整体内容如下,





而为了实现游戏的计分,我们需要再创建一个计分类,在类中创建两个方法,分别用来实现计分和在画布上显示得分。整体如下,



对于小球部分,我们不做任何改变,整体如下,




在程序的最后,由于游戏的规则以及得分设定在游戏开始后永久有效,因此,对于游戏的规则及界面的设定我们以永久循环的方式编写,具体流程如下,

2、程序编写
在正式编写程序代码之前,我们首先要创建一个项目文件及python程序文件。
STEP1:创建与保存项目文件
启动Mind+,另存项目并命名为“弹球小游戏积分版”。
STEP2:创建与保存python文件
创建一个python程序文件“任务一.py”,双击打开。
STEP3:编写程序
3、程序运行
运行程序,我们看到:弹出了一个标题为“Game”的绿色背景的游戏界面,界面的右上方有四个按键操作方式的文字提示,以及得分显示,每接住一次小球,得分都会自动加一。
知识积累 |
||||||||||||||||||||||||||||||||||||
赋值运算符+= 功能说明 “+=”符号表示加赋值,把右边的值进行某些运算后再赋值给左边的变量。 使用方法
举例说明 程序中, self.score+=1#自增一分 表示得分在原来的基础上加1后再将结果值赋给自己。 |
||||||||||||||||||||||||||||||||||||
常见的赋值运算符 功能说明 赋值运算符主要用来为变量等赋值。使用时,可以直接把基本赋值运算符“=”右边的值赋给左边的变量,也可以进行某些运算后再赋值给左边的变量。 使用方法
|
乐一乐 至此,弹球小游戏积分第一版我们就完成啦,赶紧来试一试吧,看看你最高能得多少分呢? |
任务2:变化移速程序设计
这个程序中,我们将为游戏添加不同的难度,这里,我们依旧将分三步创建这个程序。首先是分析任务,之后进行程序的编写,最后运行程序并观察效果。
1、任务分析
在任务一的程序中,我们已经成功实现了计分功能,接下来,为了增加游戏的趣味度,我们将为游戏增加一定的难度。
这里,我们通过变化小球的移动速度来实现,整体上,编程的方式不变,只需做几点调整。
首先,我们需要在一开始定义一个全局变量speed,之后,在小球的draw方法内,我们将原来固定的移速,更换成speed,并且,对于speed这个变量,我们设置其在不同得分段下不同的数值,并且得分越高,移速越快。这里,我们通过多分支结构来实现,具体流程如下,

同时,我们也为游戏设置得分上限,当达到最高得分时,则判定获胜。这里,我们在一开始的画布界面上设置获胜信息并隐藏,之后通过在得分类的addscore方法内添加条件判断语句来实现。

2、程序编写
STEP1:创建与保存python文件
新建一个python程序文件“任务二.py”,双击打开。
STEP2:编写程序
3、程序运行
运行程序,我们看到:弹出了一个标题为“Game”的绿色背景的游戏界面,界面的右上方有四个按键操作方式的文字提示,以及得分显示,每接住一次小球,得分都会自动加一。而随着得分的增高,小球移动地越快。
乐一乐 至此,弹球小游戏积分第二版我们就完成啦,你需要多少次才能获胜呢? 之后,尝试改变移速进一步增加难度再试试吧! |
五、巩固提高
项目回顾
本节课,我们在上节课弹球小游戏的基础上进行了优化,首先给游戏添加了计分功能并实现通过键盘按键控制游戏的启停。之后为了丰富游戏的趣味度,我们通过调整小球在不同得分段下的移动速度继而设置游戏的不同难度。
知识小结
程序 |
Python知识点 |
添加积分件程序设计 |
常见的赋值运算符 |
变化移速程序设计 |
无 |
项目拓展
想一想,除了加快小球的移动速度,我们还能如何控制游戏的难度呢?!(可参考方向:缩短球拍的长度,改变移速,球拍位置等)
附件下载:
文末点击“阅读原文”,下载附件。
蘑菇云创造
微信号 : mgystem
扫码关注,了解更多
推荐阅读:

