创建游戏是趣学语言的理想方式,看别人玩你编写的游戏会让你很有满足感,而编写简单的游戏有助于你明白专业级游戏是怎么编写出来的。我们可以动手输入并运行代码,以明白各个代码对整个游戏所做的贡献,并尝试不同的值和设置,这样才能对如何该进游戏的交互性有更深入的认识。那么接下来我们就来利用Python开发飞机大战游戏。
游戏《飞机大战》将包含很多不同的文件,因此首先在你的系统中新建一个文件夹,并将其命名为PlaneFight,请务必将这个项目的所有文件都存在这个文件夹中,这样相关的import语句才能正确地工作。
规划项目
在游戏飞机大战中,你可以控制着一架最初出现在屏幕底部中央的飞机。玩家可以使用箭头键左右移动飞机,还可使用空格键进行射击。游戏开始时,一群外星人出现在天空中,他们在屏幕中向下移动,玩家的任务是射杀这些外星人,只要有外星人撞到了玩家的飞机或到达了屏幕底部,游戏结束。
安装Pygame
使用这个模块能够快速地创建游戏。
检测安装
进入Python环境,执行:
开始游戏项目
首先创建一个空的Pygame窗口,以供后面用来绘制游戏元素,比如飞机和外星人,我们还将让这个游戏响应用户输入,设置背景色以及加载飞机图像。
创建Pygame窗口以及响应用户输入
首先,我们创建一个空的Pygame窗口,使用Pygam编写游戏的基本结构如下:
设置背景色
Pygame默认创建一个黑色屏幕,下面来将背景设置为另一种颜色:
创建游戏设置类
每次给游戏添加新功能时,通常也将引入一些新设置。下面来编写一个名为settings的模块,其中包含一个名为Settings的类,用于将所有设置存储在一个地方,以免在代码中到处添加设置,这样,我们就能传递一个设置对象,而不是众多不同的设置。另外,这让函数调用更简单,且在项目增大时修改游戏的外观更容易:要修改游戏,只需修改settings.py中的一些值,而无需查找散布在文件中的不同设置。
添加飞机图像
在游戏中几乎可以使用任何类型的图像文件,但在使用位图(.bmp)文件最为简单,因为Pygame方法blit()绘制它。当选择用于表示飞机的图像后,需要将其显示到屏幕上。我们将创建一个名为plane的模块,其中包括Plane类,它负责管理飞机的大部分行为。
重构代码
在大型项目中,经常需要在添加新代码前重构既有代码。重构旨在简化既有代码的结构,使其更容易扩展。我们将创建一个名为gamefunctions的新模块,它将存储大量让游戏《飞机大战》运行的函数,通过创建模块gamefunctions,可避免planefight.py太长,并使其逻辑更容易理解。
函数check_events()
首先把管理事件的代码移到一个名为check_events()的函数中,以简化planefight.py并隔离事件管理循坏。
本文利用Python开发飞机大战分享就到这里,感谢大家对老黑以及专栏的支持!
成长离不开与优秀的同伴共同交流,如果你需要好的学习环境,好的学习资源,这里欢迎每一位热爱Python的小伙伴,Python学习圈