![6b445f2011088dbcec155cf0ee8b25a5.png](https://img-blog.csdnimg.cn/img_convert/6b445f2011088dbcec155cf0ee8b25a5.png)
每一节课,都要设置2个游戏,游戏与课程所讲基础知识(语法知识)相关联。游戏是激发学生兴趣的主要手段,python 的pygame 和turtle模块是制作游戏的主要模块,框架简单,流程固定,根据素材和音效以及不同游戏规则和逻辑,可以千变万化,给学生们讲清楚逻辑和制作方法,学生其实能比较轻松地理解游戏代码的,游戏规则也是脑洞大开,充分体现了“我的游戏我做主”的理念,课程上主要讨论逻辑和思维在游戏和数学问题中的运用技巧。大大超出激发了学生们的想象力和创造力。
下面介绍几个课程中的游戏:
1.海龟大战
通过在python pygame和 turtle 模块的基本函数的使用,创建了具有竞争力的多人游戏,每个人都可以玩并且玩得开心。 玩家1可以通过A和D来控制他们的角色,玩家2可以通过“左”和“右”来控制他们的角色。 规则自己指制定,以2-6人玩为主,每人通过自己的命令键来控制自己的海龟,来一场混战或来一场有组织的对抗赛都能玩的不亦乐乎。
![3af278c738772fc32dcb63425f409b4a.png](https://img-blog.csdnimg.cn/img_convert/3af278c738772fc32dcb63425f409b4a.png)
2.跳跳人游戏
具有多个敌人的多个关卡。
通过实时状态显示速度,得分等信息。
更高级别的管理机制。
玩家可以双向射击。
随机重生敌人和生命。
碰撞检测机制。
炫酷的图形和声音。
![756d623790826729b967964eb30132b8.png](https://img-blog.csdnimg.cn/img_convert/756d623790826729b967964eb30132b8.png)
3.扑鱼游戏
![e0cbb2ad723be15f095264f35e7e560e.png](https://img-blog.csdnimg.cn/img_convert/e0cbb2ad723be15f095264f35e7e560e.png)
程序代码用了一些Python的基础知识,包括事件,定义函数,取余,循环,判断,定义类,创建对象等。属于基本框架流程。导入的几个常用库即可。
4.步步高游戏
- 用Python3解释器
- 内置16色调色板
- 3个256x256的图像库
- 8个256x256的瓦片地图
- 支持键盘、鼠标及游戏手柄输入
- 图像和音频可以编辑
![b372c37deb756f33af791015b595ea87.png](https://img-blog.csdnimg.cn/img_convert/b372c37deb756f33af791015b595ea87.png)
5.足球对抗赛游戏
仅用turtle模块,百余行代码完成的二人足球对抗赛游戏,纯代码绘制,简单控制逻辑,玩起来却趣味无穷。
![8f2208cf9731dd05c78a1da5527a0e6d.png](https://img-blog.csdnimg.cn/img_convert/8f2208cf9731dd05c78a1da5527a0e6d.png)
课程中游戏涵盖python游戏的方方面面,从入门到精通呀,python适合写一些2D的小游戏。比如贪吃蛇,超级玛丽,FC或者90年代街机之类的游戏,高尔夫球,台球,滑雪,篮球等等一应俱全。
用什么模块来写游戏呢?
pygame 是主角。turtle简单易做。pyglet也会串场。pyglet是纯Python。免安装,pyglet支持多个显示器,也支持多个窗口,pygame只能有一个显示器一个窗口,还直接关联OpenGL,cocos2d 有很多酷炫效果,也能派上用场。
课程不只是介绍游戏编程概念的相关内容,还深入到复杂的主题。游戏难度,从初级到高级。使用Pygame、文件I/O、用户输入、数学和图形编程、位图图形、精灵动画、冲突检测、数组、计时和声音、编程逻辑、三角函数、随机地形、角色扮演游戏等重要概念。每节课通过一个示例游戏来展示这些知识和工具的实际应用。既可以帮助学生掌握相关概念来构建自己设计的游戏。游戏不是学生要学习的主要内容,python基础的语法知识和中小学的数学思维训练体系才是课程主线。蕴含在其中的知识点:除了python的基础语法和常用数学运算和思维类别以及相关解题技巧之外还包含如何使用Pygame编程,如何打印文本、循环、绘制圆、绘制矩形、绘制线条、绘制弧形、游戏初始化、窗体的设置,游戏循环、游戏事件,时间以及如何退出等。
最后还是给出一个案例:流传甚广的空间大战
![4c47f13a199b30b0a1a137ef660580c0.png](https://img-blog.csdnimg.cn/img_convert/4c47f13a199b30b0a1a137ef660580c0.png)
python是一门简洁高效,通俗易懂的高阶动态编程语言;
Python 非常适合用一小段代码来实现我们的思维(课程专注数学问题),孩子们可以从单个文件和单个代码块起开始学习,在掌握函数(function)或类(class)对象之前,就可以写出模块化的代码。 很像积木手指画,所想即所得。初期代码尽量控制在30行以内。短小精悍,益于理解和编写。所有的程序设计都尽量分解成函数模块和类模块。在学习函数之前就学习了 Python 语言的语法,学生将掌握基本的编程知识,并用这些基本知识来解决大量的数学问题。