找回密码
 立即注册
查看: 20066|回复: 74

实战:用python写个小游戏!(详细解释,建议收藏)

    [复制链接]
  • TA的每日心情
    慵懒
    2019-8-29 01:32
  • 签到天数: 477 天

    连续签到: 1 天

    [LV.9]妙领天机

    24

    主题

    3096

    回帖

    3141

    积分

    声名显赫

    积分
    3141
    发表于 2019-12-26 21:09:49 | 显示全部楼层 |阅读模式

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

    您需要 登录 才可以下载或查看,没有账号?立即注册

    ×
    前言:
    今天为大家带来的内容是实战:用python写个小游戏!(详细解释,建议收藏)本文具有不错的参考意义及学习意义,希望大家会喜欢!要是觉得不错记得点赞,转发关注,不迷路哦!
    引言
    自从python语言大火之后,除了在科学计算领域python有用武之地之外,在游戏、后台等方面,python也大放异彩,本篇博文将按照正规的项目开发流程,手把手教大家写个python小游戏,来感受下其中的有趣之处。本次开发的游戏叫做alien invasion。

    • 安装pygame并创建能左右移动的飞船
    • 安装pygame
    • 本人电脑是windows 10、python3.6
    • 请自行下载对应python版本的pygame 运行以下命令
    $ pip install wheel
    $ pip install pygame‑1.9.3‑cp36‑cp36m‑win_amd64.
    创建Pygame窗口及响应用户输入
    新建一个文件夹alien_invasion,并在文件夹中新建alien_invasion.py文件,输入如下代码。
    nmrJG6j5A78t17ir.jpg

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

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

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

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

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

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

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

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

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

    以上所述是小编给大家介绍的Python写一个小游戏,希望对大家有所帮助,如果大家有任何疑问请给我留言。
    最后,小编想说一句话:我是一名python开发工程师,整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习,面试宝典,面试宝典,面试宝典。想要这些资料的可以关注小编,并在后台私信小编:“资料”即可领取。
    楼主热帖
  • TA的每日心情
    慵懒
    2019-8-30 02:28
  • 签到天数: 475 天

    连续签到: 2 天

    [LV.9]妙领天机

    8

    主题

    3098

    回帖

    3113

    积分

    声名显赫

    积分
    3113
    发表于 2019-12-27 10:36:45 | 显示全部楼层
    众里寻他千百度,蓦然回首在这里!
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2019-8-30 09:11
  • 签到天数: 456 天

    连续签到: 6 天

    [LV.9]妙领天机

    3

    主题

    3091

    回帖

    3096

    积分

    声名显赫

    积分
    3096
    发表于 2019-12-28 10:51:35 | 显示全部楼层
    打酱油的人拉,回复下赚取积分
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-8-28 12:08
  • 签到天数: 466 天

    连续签到: 2 天

    [LV.9]妙领天机

    1

    主题

    3055

    回帖

    3054

    积分

    声名显赫

    积分
    3054
    发表于 2020-1-7 05:38:48 | 显示全部楼层
    打酱油的人拉,回复下赚取积分
    回复

    使用道具 举报

  • TA的每日心情
    难过
    2019-8-29 16:33
  • 签到天数: 484 天

    连续签到: 2 天

    [LV.9]妙领天机

    9

    主题

    3048

    回帖

    3064

    积分

    声名显赫

    积分
    3064
    发表于 2020-1-20 20:18:06 | 显示全部楼层
    确实不错,顶先
    回复

    使用道具 举报

  • TA的每日心情
    难过
    2019-8-30 05:36
  • 签到天数: 467 天

    连续签到: 4 天

    [LV.9]妙领天机

    8

    主题

    3062

    回帖

    3075

    积分

    声名显赫

    积分
    3075
    发表于 2020-1-28 22:27:56 | 显示全部楼层
    我也来顶一下..
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-8-29 23:08
  • 签到天数: 471 天

    连续签到: 1 天

    [LV.9]妙领天机

    7

    主题

    3086

    回帖

    3099

    积分

    声名显赫

    积分
    3099
    发表于 2020-2-1 12:41:28 | 显示全部楼层
    确实不错,顶先
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2019-8-30 06:43
  • 签到天数: 479 天

    连续签到: 1 天

    [LV.9]妙领天机

    14

    主题

    3048

    回帖

    3074

    积分

    声名显赫

    积分
    3074
    发表于 2020-2-6 10:07:41 | 显示全部楼层
    报告!别开枪,我就是路过来看看的。。。
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2019-8-30 13:47
  • 签到天数: 477 天

    连续签到: 1 天

    [LV.9]妙领天机

    0

    主题

    2953

    回帖

    2952

    积分

    声名显赫

    积分
    2952
    发表于 2020-2-9 10:48:10 | 显示全部楼层
    啊啊啊啊啊啊啊啊啊啊啊
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-8-30 16:26
  • 签到天数: 475 天

    连续签到: 1 天

    [LV.9]妙领天机

    10

    主题

    3029

    回帖

    3043

    积分

    声名显赫

    积分
    3043
    发表于 2020-2-19 23:55:24 | 显示全部楼层
    支持楼主,用户楼主,楼主英明呀!!!
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|任逍遥

    GMT+8, 2024-11-21 22:01 , Processed in 0.080498 second(s), 52 queries .

    Powered by 任逍遥 X3.5

    Copyright © 2001-2024, Rxiaoyao Cloud.

    快速回复 返回顶部 返回列表