Young87

当前位置:首页 >个人收藏

python怎么把写在一个文件的类导入另一个文件_实战:用python写个小游戏!(详细解释,建议收藏)...

953d111837bf63d4b82ce994f4dab1fb.png

前言:

今天为大家带来的内容是实战:用python写个小游戏!(详细解释,建议收藏)本文具有不错的参考意义及学习意义,希望大家会喜欢!要是觉得不错记得点赞,转发关注,不迷路哦!

引言

自从python语言大火之后,除了在科学计算领域python有用武之地之外,在游戏、后台等方面,python也大放异彩,本篇博文将按照正规的项目开发流程,手把手教大家写个python小游戏,来感受下其中的有趣之处。本次开发的游戏叫做alien invasion。

  1. 安装pygame并创建能左右移动的飞船
  2. 安装pygame
  3. 本人电脑是windows 10、python3.6
  4. 请自行下载对应python版本的pygame 运行以下命令
$ pip install wheel
$ pip install pygame‑1.9.3‑cp36‑cp36m‑win_amd64.

创建Pygame窗口及响应用户输入

新建一个文件夹alien_invasion,并在文件夹中新建alien_invasion.py文件,输入如下代码。

ce05b2ef1ec7bb3b83306ba19957b4d7.png

运行上述代码,我们可以得到一个灰色界面的窗口:

9ae34a23d7d4ce2c1f6ebc706c8bffda.png

创建设置类

为了在写游戏的过程中能便捷地创建一些新功能,下面额外编写一个settings模块,其中包含一个Settings类,用于将所有设置存储在一个地方。这样在以后项目增大时修改游戏的外观就更加容易。 我们首先将alien_invasion.py中的显示屏大小及显示屏颜色进行修改。 首先在alien_invasion文件夹下新建python文件settings.py,并向其中添加如下代码:

333f3c1e1063776f27978507ec157b51.png

4de3dbb6558708b7d09b36ea3190a1ae.png

然后再alien_invasion.py中导入Settings类,并使用相关设置,修改如下:

5b653156085caee320e3fcee87949495.png

添加飞船图像

接下来,我们需要将飞船加入游戏中。为了在屏幕上绘制玩家的飞船,我们将加载一幅图像,再使用Pygame()方法blit()绘制它。 在游戏中几乎可以使用各种类型的图像文件,但是使用位图(.bmp)文件最为简单,这是因为Pygame默认加载位图。虽然其他类型的图像也能加载,但是需要安装额外的库。我们推荐去免费的图片素材网站上去找图像: 传送门 。我们在主项目文件夹(alien_invasion)中新建一个文件夹叫images,将如下bmp图片放入其中。

da3b09feabb4aaae386cbd04197c1cd7.png

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

c542eca26e280a855187b5d5e5221f10.png

最后我们在屏幕上绘制飞船,即在alien_invasion.py文件中调用blitme方法:

073e0b4797f945ebd8355208f6f8209d.png

重构:模块game_functions

在大型项目中,经常需要在添加新代码前重构既有代码。重构的目的是为了简化代码的结构,使其更加容易扩展。我们将实现一个game_functions模块,它将存储大量让游戏Alien invasion运行的函数。通过创建模块game_functions,可避免alien_invasion.py太长,使其逻辑更容易理解。

函数check_events()

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

3ba4d5c265fc83b77105924a003b51d5.png

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

c8582168d00cbf4c4dc6a42f699dc6bb.png

以上就是本文的全部内容啦!

1323fe41454ef2be8483bc15b96aa0cf.png

除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog

上一篇: python最强脚本工具_10款最佳Python开发工具推荐,每一款都是神器

下一篇: win10_x64下shellcode提权工具(SYSTEM权限)

精华推荐