王清
摘要:pygame是基于python的一个模块,可以用python语言编写简单的小游戏,因其可操作性非常高,可以根据自己所需编辑图像、音频等素材,所以具有超高的自由度,完全满足任何想要的小游戏制作条件。制作过程中,仅需具备简单的编程知识,用近乎白话的水平描述(编辑)出游戏的代码即可实现小游戏的各种效果,用到的图片素材和音频素材能支持常见的图片与音频格式,不论是自己制作还是现成的素材,都能方便地应用。小学数学课上的游戏,总是会激发孩子们的学习热情,极大地提高教学效率,所以将pygame运用在小学数学课堂上即能克服找不到教学素材的困难,又能根据内容需要,制作出最符合教学目标的小游戏。
关键词:pygame;python;小游戏;小学数学
一、在小学数学课堂上使用小游戏的困境
随着教学多媒体在全国各小学的普及,现代化的教学素材逐渐走进了孩子们的课堂,图片、音频、动画,甚至是小游戏,都越来越多地被运用到了各科教学中,这些素材的正确使用,都有助于教学目标的达成,但是很多细心的教师备课时,在网上寻觅好久,也找不到一张心仪的图片、一段满意的动画,更不要说一个符合自己教学风格与教学内容的小游戏了。而一位非美术专业和计算机专业的教师,要根据自己的想法创作出图片、音频、动画或小游戏,都是有难度的。
二、pygame和python简介
在当下流行的几款编程语言中,python语言兼具简洁、优美、易读,非常适合只需简单使用的初学者。pygame是python的一个模块,是专门用来编写游戏的,而它又特别适合用来编写2D的小游戏。想要用pygmae自制简单的小游戏,所需的知识量非常少,通常只需要简单的百来行代码就能实现。
三、pygame自制小游戏的优势
(一)制作过程简便
小学阶段遇到的数学小游戏或者可转化为小游戏的数学问题,都是比较简单的,比如人教版二年级上册的《搭配》,又比如人教版四年级上册的《烙饼问题》,这些简单的小游戏只需要百来行左右的代码就能轻松实现。要达到上述这类小游戏的制作水平,只需要简单掌握pygame里的几个常用模块即可,如精灵组的创建、鼠标或键盘的检测、图形的移动或变换,这些知识在网上很多平台都有免费的教学视频,教师可以轻松获取并掌握。
(二)互动性高
课堂游戏不同于课堂上的其他教学环节,最主要的区别在于课堂游戏的有趣和互动性,有趣性很容易实现,就不过多阐述。学生与学生的不同操作会得到不同的结果,所以学生之间也会有语言上的交流互动,学生的实际表现影响教师的判断,教师根据自己的判断控制游戏的流程,所以也有师生之间的互动,这就是平时所说的生生互动与师生互动,但这类小游戏还有一个重要的互动环节,那就是参与游戏的学生与游戏本身之间的互动,学生通过鼠标或键盘的操作,在游戏中获得不同的反馈,学生又根据自己得到的反馈来判断自己接下来怎么操作,所以学生与游戏之间具有强烈的互动,而这种互动非常有利于学生数学思维的培养,这种互动也是其它常规教学环节中见不到的。
(三)高自由度
教材上的内容只是给教师一种教学参考,不同的教师会用不同的方式把这些教材上的知识传授给学生,可是网络上现成的教学资源都是别的教师的想法,虽然可以照搬到你的课堂上来用,但是却并不能完全按照你的思路进行教学。所以说教师在教学中具有很高的自由度,却又被教学资源限制住了,不能施展自己的才能,不能把自己最想要的教学设计展现出来。pygame,具有高自由度的小游戏设计模块,能轻松解决掉这个问题,不论是对图形的控制,还是声音的控制,还是对鼠标、键盘、文本等输入内容的检测,都能通过简单的代码实现,这样一来,教师的任何想法都可以在小游戏中呈现给学生,达到自己最想要的教学效果。
四、完成一个自制小游戏的必备模块参考
不同的人喜欢用不同的方式来完成同一件事情,所以同一个小游戏的代码肯定也都不同,但大体上都离不开下面4个方面的模块或函数。
(一)控制游戏主体流程
pygame中可以用while函数来进行流程的控制,当while后的值为“True”时,该循环可以一直持续,知道while后的这个值为“False”为止。主循环下的不同小分支,可以用if函数来完成,if后的值为“True”时,if下的语句可以执行一次,否则不执行。
(二)鼠标或键盘的输入检测
pygame中用来检测鼠标的模块有很多,它们可以获取鼠标的按键、光标位置等信息,在烙饼问题中,主要用到pygame.MOUSEBUTTONDOWN来记录按下鼠标和pygame.mouse.get_pos( )来获取鼠标的位置。
而键盘的操作可以通过pygame.KEYDOWN或pygame.KEYUP来检测,其中按下键盘也可以用pygame.key.get_pressed来检测。
(三)圖片控制
交互式的游戏肯定离不开画面,画面上的各种变或不变的图片是游戏呈现出来的主体部分,pygame里的image模块提供了加载图片的load函数,display模块里的set_mode( )和flip( )可以设置窗口大小和显示背景图片,对于某些小一点的图片,可以用screen.blit( )来显示。
五、总结
本文针对pygame在小学数学课堂上自制小游戏进行的简要的分析,优点有高效简便、互动性强、高自由度、跨平台易分享,简单的小游戏制作所需的四部分知识分别是流程控制、输入检测、图片输出和音频输出。高自由度的pygame小游戏可以将众多教师的优秀的教学想法付诸实现,极大地提高教学趣味性和教学效果,易分享的特点也容易让优秀的作品通过网络传播开来,服务于更多的教师和学生。
参考文献:
[1]金淑湘.谈小游戏在小学数学教学中的应用[J].中国校外教育(下旬刊),2019,(6).112.
[2]徐燕.数学游戏在小学数学教学中的应用策略研究[J].中国校外教育(中旬刊),2019,(6).71,79.
[3]陈萍.游戏在小学数学教学中的应用[J].甘肃教育,2019,(12).111.
(四川省遂宁市船山区老池镇小学校 629000)