用visio画用例图小人_教你如何用 Python 打飞机 ?

本文介绍如何使用Python的pygame框架创建一个打飞机游戏。文章涵盖了pygame的基础用法,包括面向对象编程、继承概念以及游戏的运行步骤。代码已上传至GitHub,读者可以通过回复关键词获取源码。
摘要由CSDN通过智能技术生成

c2785c4a7e4e05533b25dda6b35e873e.png

前言:python 除了生孩子 ,啥都会 。包括打飞机 !今天就来教你如何用 python 打飞机 !

简述

相信你是一个单纯的孩子说的打飞机是指啥意思 ,对吧 ?嗯 ,没毛病 。就是 pygame 实现一个打飞机的游戏!

我们知道 pygame 框架可以用于管理图形 、动画声音等 ,能够利用它来轻松地开发复杂的游戏 ,可以让我们更加专注于面向对象编程 。此项目是基于 pygame 框架搭建的一个小游戏 ,在此文中将实现此项目的 50% ,后续会有跟进 ,源代码已经放在我的 GitHub 中 ,并在进行中将会不断对代码结构进行优化 ,对样式进行优化 。在本例中将会接触简单的面向对象编程和继承 。面向对象编程是提取项目中某种事物的关键属性进行抽象 ,抽象模型中包括数据和行为 ,类是对象的抽象 ,对象是类的实例 。

先送上一波效果图(被压缩的时间略短)

0d5acf92893a928ae60c82a81a2f5144.gif
效果图

游戏简介 :在游戏《外星人入侵》中 ,玩家控制着一艘最初出现在屏幕底部中央的飞船 。玩家可以使用箭头键左右移动飞船 ,还可使用空格键进行射击 。游戏开始时 ,一群外星人出现在天空中 ,他们在屏幕中向下移动 。玩家的任务是射杀这些外星人 。玩家将所有外星人都消灭干净后 ,将出现一群新的外星人 ,他们移动的速度更快 。只要有外星人撞到了玩家的飞船或到达了屏幕底部 ,玩家就损失一艘飞船 。玩家损失三艘飞船后 ,游戏结束 。

游戏用例图(第一次画用例图,不是很准确……)

a67a92668b42a21784b38cef02d8a523.png
用例图

分析该项目 ,飞船 、子弹 、外星人可以分别划分为具有共同属性的一类 ,类中定义各自的属性 ,包括图像 、形状 、位置 、更新位置 、绘制图像等 ;在主函数中将对象实例化 ,对对象中的成员变量和函数进行调用实现移动 、击杀等操作 ;本节实现飞船和子弹类和基本功能 。

在构建子弹类时 ,用到了继承的概念 ,当在参与大型项目开发设计时 ,继承是一个非常关键的概念 。继承是对已有类的一种复用 ,子类继承父类 ,可以对父类中的方法和数据进行重写 ,也可以新定义只属于子类的成员变量 。当项目中有许多类具有相同的基本属性时 ,可以考虑将这些基本属性抽象为一个父类 ,子类通过继承父类而拥有父类中的数据和方法 ,这会提高代码的可读性 ,也省去很多重复的代码 。

f0e72400fadb55bf84c709aa76d654b9.png

当前新建以下几个文件 :

  1. alien-invasion.py 主函数

  2. ship.py 飞船类

  3. bullet.py 子弹类

  4. game_functions.py 许多主函数会调用的函数

  5. settings.py 配置文件 ,常量

其目录结构如下 :61abeefe21bd1730373f782c19620f2e.png

代码运行步骤 :
方法 1——

  1. git clone https://github.com/AlisaBen/easycoding

  2. powershell进入到工程目录下(/fun_python>)

  3. cd ./alien_invasion

  4. python alien_invasion.py

方法2——

  1. 按照下面代码部分新建文件 ,并复制代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值