《信息科技》计算思维之Pygame的那些事

作为一名义务教育阶段的信息科技教师,在国家新课程改革大背景下,笔者指导学生通过Python游戏编程学集成开发环境、学程序语言、学变量数据结构、学程序流程、学对象封装模块化设计、学软件设计模式。设想有一天让学生们用提高的信息素养参与新课程建设。成熟后再由信息科技学科推广到各科学习。
具体措施:逆向学习是项目开展的有效途径。学习专业游戏开发者成熟经验,在熟知游戏开发基本原理情况下,以实现较大规模游戏项目为指引,分步实现。先搭建主框架初始化及实现一个黑窗口并自带一个循环能侦测用户鼠标键盘输入。接着讲解图像加载surface(表面),再blit到主窗口(主表面)。当然也可用精灵封装一个image,创建精灵组对象,更新和渲染。注意逻辑更新和物理渲染。创建常量变量放settings,不需要放循环中。更新和渲染往往要放循环中,还有容器的概念,比如创建一 个Level类,初始化,加载资源,更新。创建各个小部件(类)继承自Sprite类,也有初始化 更新渲染。
算法最重要。重要的事情说三遍:存储 数据结构 计算机编程,算法是关键。这些年,基于兴趣,涉足开发,闭门造车,难以想像遇到怎样的困难,走了太多的弯路。厚积薄发,深耕不息。突然,一个灵感激发,一个好的作品诞生了。关键是增加了对算法的理解,在实战中精通了数据结构。存储计算,用好数据结构,树立编码思维,对变量高效的组织,方能实现好的算法。\n实例之《等腰三角形之三线合一》这个作品,算法思路如下:运用列表或字典存储顶点坐标,计算其它各点坐标,拖动改变顶点坐标,利用画线功能,在循环中不断执行擦除,画三角形,画高,画中线,画角平分线,便不难实现了。
一个好的开发环境能有效提升开发效率, 笔者发现平板轻量化办公有效实现搭建Python 开发环境和运行Pygame作品。我用华为平板 搭载鸿蒙搭建开发环境实现开发编译作品,其实安卓系统平板也可以。学生们在家完全可以在家长监督下,利用平板或手机配置好Python
开发环境,利用老师提供的资料,展开项目学习和练习。

Pygame是一个用于制作2D游戏的Python库,它提供了许多功能和工具来处理游戏中的各种问题,包括距离计算。 在Pygame中,距离计算通常涉及到物体的碰撞检测。当两个物体在游戏世界中接近或接触时,你需要确定它们之间的距离。通常,这种距离的计算可以通过欧几里得距离公式来实现,即两点之间的距离等于两点对应坐标分量之差的平方和的平方根。 在Pygame中,你可以使用向量类来计算两个点之间的距离。Pygame提供了一个名为`pygame.math.Vector2`的类,它包含了许多有用的函数,包括计算两点之间距离的函数。 下面是一个简单的示例代码,演示了如何使用Pygame计算两点之间的距离: ```python import pygame import pygame.math as math # 初始化Pygame pygame.init() # 创建两个点对象 point1 = math.Vector2(10, 20) point2 = math.Vector2(50, 70) # 计算两点之间的距离 distance = point1.distance_to(point2) print("两点之间的距离为:", distance) ``` 在上面的代码中,我们首先导入了PygamePygame的数学模块。然后,我们创建了两个`math.Vector2`对象,分别表示两个点。最后,我们使用`distance_to()`函数计算了这两个点之间的距离,并将其打印出来。 除了使用向量类之外,你还可以使用Pygame的Rect类来计算两点之间的距离。Rect类表示一个矩形区域,它包含了矩形的位置和大小信息。通过比较两个Rect对象的位置和大小,你可以计算它们之间的距离。 总之,Pygame提供了许多功能和工具来处理游戏中的距离计算问题,包括使用向量类和Rect类来计算两点之间的距离。你可以根据具体的需求选择适合的方法来实现距离计算
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值