现如今,随着人工智能的兴起,Python语言随之大热起来,而由于浙江和山东高考把Python语言纳入以后,Python自然而然就有了在儿童阶段进行教学的一些需求。

大部分Python儿童编程的入门会选择turtle或者pygame库来进行,但是这两个库其实都不太适合儿童编程的特点。

turtle本质上算是画图工具,只不过把这个画图过程用Python指令来进行,不太适合做一些高交互的游戏,而游戏化教学本来就是儿童编程必须具备的特性,不然很多孩子可能一上来就放弃了。而且turtle本身只是能画图,缺少声音、精灵、事件处理等,必须结合其他库才行,这个局限性就差多了。

而pygame则难度过高一些,pygame可以开发一些正式的大型游戏了,他里面的编程接口比较复杂,有些还比较底层,对于孩子来讲,有些概念不太适合过早接触,或者说暂时理解上有难度。让孩子一上来就用pygame,势必事倍功半。

pygame zero则不然,他一开始就是为了教育出发而进行设计,它是由pygame构建的,并针对教育目的进行了封装和简化,孩子们学习的时候就不需要去做一些跟学习编程、快速搭建游戏无关的代码工作,也不需要去了解复杂的api及事件处理。

现在让我们来了解一下:


游戏的程序结构

一个游戏的程序结构一般是

1、判断及处理输入的数据(来自键盘、鼠标、传感器、网络等等)

2、进行逻辑的处理,更新游戏角色的数据

3、进行游戏场景、角色等的绘制、声音的播放

4、不断循环第1步到第3步,除非程序退出

如果用pygame来做游戏,就要做很多额外的工作,在上面的基础之上还需要包括初始化pygame、主循环逻辑、处理事件等等,而pygame zero就简单多了,都被它实现的pgzrun程序封装掉了。

Pygame Zero的主要结构

所有的Pygame Zero程序都通过pgzrun来运行,比如我们写的game.py程序,需要这么启动运行:

pgzrun game.py

也可以通过代码进行直接运行,这个时候就是个普通python程序了,程序需要引入pzrun模块,并书写代码:

pgzrun.go()

Pygame Zero的主要结构跟游戏的通用结构类似:

  • draw()函数,在这里实现的就是游戏结构中的第三步
  • update()函数,在这里实现的就是游戏结构中的第二步
  • 输入判断则封装成事件函数,不需要自己关联事件

on_mouse_开头的鼠标事件函数

on_key_开头的键盘事件函数

一个简单的Pygame Zero程序

这个程序在一个500x500的上部,出现一个小人(pygame zero内置的角色alien)不断的从左边跑到右边,如果到了最右边,则会从最左边出现,循环反复。中途如果点了鼠标,则会打印输出"点击了鼠标了!",如果有键盘输入,则显示"敲了键盘了!"。整个程序非常简单,我们可以对着pygame zero的api进行扩展,加入更多角色,游戏音效等。

import pgzrun alien = Actor('alien')alien.topright = 0, 10 WIDTH = 500HEIGHT = 500 def draw():    screen.clear()    alien.draw() def update():    alien.left += 2    if alien.left > WIDTH:        alien.right = 0def on_mouse_down():    print("点击了鼠标了!") def on_key_down():    print("敲了键盘了!")       pgzrun.go()

专注儿童编程,敬请关注,谢谢!

python皮卡丘编程代码_儿童Python代码编程库Pygame Zero介绍相关推荐

  1. python皮卡丘字符打印代码,python画皮卡丘的代码

    大家好,本文将围绕用python画一只可爱的皮卡丘展开说明,python皮卡丘字符打印代码是一个很多人都想弄明白的事情,想搞清楚python皮卡丘编程代码教程需要先了解以下几个事情. 1.python ...

  2. python表白图形代码_python表白代码 python皮卡丘编程

    520如何用Python向心爱的女孩表白呢? 用Python写一个项目,用人民币卖,顺便用人民币给女神买漂亮的衣服和包. 别想别的办法了?没有哪个女孩笨到可以用代码看你的代码或动画.爱一个人除了实际行 ...

  3. python画图皮卡丘代码_利用Python绘制萌萌哒的皮卡丘

    开发工具 Python版本:3.6.4 相关模块: turtle模块. 环境搭建 安装Python并添加到环境变量即可. 在cmd窗口运行"pikachu.py"文件即可. 效果如 ...

  4. python画皮卡丘全身立体_超酷!用 Python 教你绘制皮卡丘和哆啦A梦

    本文利用 Python 绘制两个卡通角色,并带大家熟悉一下绘图程序包 turtle 的一些用法,先看一下 最终皮卡丘的绘制效果录制_2020_08_01_22_15_39_710.gif 在使用之前请 ...

  5. python编程儿童_儿童python编程能给孩子带来哪些好处

    学习儿童python编程越来越受欢迎,原因有很多,对于孩子来说,Python是一种很好的编程语言,是一种功能强大,易于阅读的编程语言,读起来更像英文,孩子们很容易在没有经验的情况下学习Python. ...

  6. python推箱子游戏代码_用python入门知识做推箱子游戏,若能打过第三关,则可以学会编程...

    不得不说,Python小游戏是最适合入门编程的项目,因为太简单! 无论懂或完全不懂python,这样的小游戏,你都可以直接开发出来,原因很简单: 在详细教程里,会有从零基础开始,一步一步的教你完成这个 ...

  7. python趣味编程100例-儿童Python趣味编程课程

    儿童Python趣味编程课程 南京杜恩培训隶属于南京卡尔威特教育咨询有限公司,秉承"以人为本"的办学宗旨,致力于给每一位前来学习的学员专业优质的服务.中心成立于2002年,在南京已 ...

  8. python 运行程序代码_一些python程序

    <从问题到程序:用Python学编程和计算>--1.2 Python语言简介 本节书摘来自华章计算机<从问题到程序:用Python学编程和计算>一书中的第1章,第1.2节,作者 ...

  9. excel图片变成代码_没错, Python杀死了Excel

    在大家的印象里,想进入金融行业或者数据岗位,首先需要精通Excel.然而野村证券副首席数字官马修·汉普森在上周五的伦敦Quant Conference上发表讲话:"现在走进交易大厅,用Exc ...

  10. python中函数的调用_慢步python,编程中函数的概念,python中函数的声明和调用

    函数,曾经是一个很高大尚的概念.笔者是在高中数学里认识的函数,先是从y=2x+3 这条代数式开始的.y是因变量,x是自变量,y因为x取值的变化而变化. 再后来式子变成这样:f(x)=2x+3,f(x) ...

最新文章

  1. Swift学习:自动引用计数
  2. python生成词云很慢吗_词云制作没那么难,Python 10 行代码就实现了!
  3. 如何存储Session
  4. 一个方法搞定安卓路由跳转
  5. VTK:图片之ResizeImage
  6. RS(1)--10分钟了解什么是推荐系统
  7. 预算里怎样计算机械作业费,用实物法编制施工图预算的完整步骤有( )等。 A.计算工程量B.套用预算人工、材料、机械 - 作业在线问答...
  8. 2_python基础—格式化符号(输入、输出、转义、结束)
  9. dockerfile、docker compose、k8s区别
  10. 工信部:主要互联网企业开屏信息“关不掉”基本解决
  11. print( )函数调用——pytnon小练
  12. get请求中传json参数报400的错误_react的数据请求
  13. 网易云音乐android变臃肿,网易云音乐,你变成了我最讨厌的模样
  14. “应用程序无法正常启动 0xc0150002”如何解决?
  15. 日本京瓷株式会社会长-稻盛和夫寄语汇总
  16. 战矛在线Java_战矛在线职业选择攻略 最强职业推荐
  17. 负载均衡(Load Balance)介绍
  18. 四川工程职业技术学院计算机专业,四川工程职业技术学院学生在四川省大学生计算机作品大赛获佳绩...
  19. 《HOP-Matting:Hierarchical Opacity Propagation for Image Matting》论文笔记
  20. 转载 ECSHOP 源码分析(includes/init.php)

热门文章

  1. [工作习惯]一种管理文献的方法,抛弃EndNote
  2. STM32CubeMX 配置STM32F407 实现HAL库延时微妙方案
  3. Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre
  4. zjoi2018day1 游记
  5. foregroundservice的用处和用法
  6. jquery中filter(fn)的使用研究
  7. 解决在IE下“JSON”未定义的有关问题
  8. pdf转txt出现句子异常中断,如何连接被切断的字符串
  9. 【论文分享】ACL 2020 信息抽取任务中的新动向
  10. BiLSTM+CRF命名实体识别:达观杯败走记(下篇)