专栏名称: Python学习交流
每天更新,更新python相关的知识。希望诸君有所收获!
目录
相关文章推荐
Python爱好者社区  ·  生成式AI,彻底爆了! ·  昨天  
Python爱好者社区  ·  64k!确实可以封神了! ·  3 天前  
Python爱好者社区  ·  华为目标院校白名单(2025最新版) ·  4 天前  
Python爱好者社区  ·  近4年不租房睡车里省10万元!41岁程序员回 ... ·  2 天前  
Python爱好者社区  ·  强的离谱!CNN,yyds ·  2 天前  
51好读  ›  专栏  ›  Python学习交流

10分钟学会用python写游戏!Python其实很简单!

Python学习交流  · 公众号  · Python  · 2019-01-05 15:58

正文

请到「今天看啥」查看全文


我们推荐去免费的图片素材网站上去找图像:

https://pixabay.com/

我们在主项目文件夹(alien_invasion)中新建一个文件夹叫images,将如下bmp图片放入其中。


接下来,我们创建飞船类ship.py:


重构:模块game_functions

在大型项目中,经常需要在添加新代码前重构既有代码。重构的目的是为了简化代码的结构,使其更加容易扩展。

我们将实现一个game_functions模块,它将存储大量让游戏Alien invasion运行的函数。通过创建模块game_functions,可避免alien_invasion.py太长,使其逻辑更容易理解。

函数check_events()

首先我们将管理事件的代码移到一个名为check_events()的函数中,目的是为了隔离事件循环


然后我们修改alien_invasion.py代码,导入game_functions模块,并将事件循环替换成对函数check_events()的调用:


函数update_screen()

将更新屏幕的代码移到一个名为update_screen()函数中,并将这个函数放在模块game_functions中:


其中alien_invasion修改如下:


从上面一套流程走下来,我们发现:在实际的开发过程中,我们一开始将代码编写得尽可能的简单,并在项目越来越复杂时进行重构。接下来我们开始处理游戏的动态方面。

驾驶飞船

这里我们要实现的就是使玩家通过左右箭头键来控制飞船的左移与右移。

响应按键

因为在pygame中,每次按键都被注册为KEYDOWN事件,在check_events()中,我们通过event.type检测到KEYDOWN事件后还需进一步判断是哪个按键。代码如下:







请到「今天看啥」查看全文