Bootstrap

Python学习笔记40:游戏篇之外星人入侵(一)

前言

入门知识已经学完,常用标准库也了解了,pygame入门知识也学了,那么开始尝试小游戏的开发。

当然这个小游戏属于比较简单的小游戏,复杂的游戏需要长时间的编写累计开发经验,同时也需要一定的时间才能编写出来。现在的话还是嫩了点。

从基础的简单的开始,学习实践,慢慢的成长才是正确的学习方式!

创建项目

我们使用pychram创建出一个新的项目,来对游戏项目的代码和一些本地资源做管理,项目名称和目录随意就好了。

目录结构

在项目创建好以后,为了方便管理我们的代码和文件,我们在进行实际的编写之前应当先进行项目目录的结构处理,方便后续代码的编写,资源的存放等工作。

这里我会给出一个项目的目录结构层次并做解释,尽可能的按这个格式对你自己的项目进行处理就行。

project_name/
│
├── project_name/               # 包含项目的主要源代码
│   ├── __init__.py            # 初始化模块,使目录成为Python包
│   ├── module1.py             # 项目的一个模块
│   ├── module2.py             # 另一个模块
│   └── ...
│
├── tests/                      # 单元测试代码
│   ├── __init__.py            # 测试包初始化
│   ├── test_module1.py        # 测试module1.py的单元测试
│   ├── test_module2.py        # 测试module2.py的单元测试
│   └── ...
│
├── docs/                       # 文档
│   ├── source/                # Sphinx文档源文件
│   └── build/                 # 构建后的文档
│
├── scripts/                    # 脚本文件,如命令行工具
│   ├── script1.py             # 项目的一个脚本
│   └── ...
│
├── data/                       # 数据文件,如配置文件或数据集
│   └── ...
│
├── requirements.txt           # 项目依赖的Python包列表
│
├── setup.py                   # Python的构建脚本,用于安装项目
│
├── .gitignore                 # Git忽略文件列表
│
├── LICENSE                    # 许可证文件
│
├── README.md                  # 项目的主读我文件,通常为Markdown格式
│
├── CHANGELOG.md               # 版本变更记录
│
└── .editorconfig              # 编辑器配置文件,确保代码风格一致性
  • project_name/: 主要的源代码目录,包含项目的各个模块和子包。
  • init.py: 使目录成为Python包的必要文件。
  • module*.py: 实现项目功能的具体模块。
  • tests/: 单元测试代码,确保代码质量。
  • docs/: 文档目录,通常使用Sphinx等工具来生成文档。
  • scripts/: 执行脚本,如CLI工具。
  • data/: 静态数据文件,如配置文件或数据集。
  • requirements.txt: 列出项目依赖的第三方Python包。
  • setup.py: 用于构建、安装和发布项目的脚本。
  • .gitignore: Git版本控制中忽略的文件和目录列表。

那么依照这个参考,我们大致可以整理出一个我们的项目目录。

alien_invasion/
│
├── alien_invasion/             # 游戏主模块
│   ├── __init__.py            # 初始化alien_invasion模块
│   ├── game_functions.py      # 游戏的核心功能函数
│   ├── settings.py            # 游戏设置
│   ├── ship.py                # 飞船类
│   ├── alien.py               # 外星人类
│   ├── bullet.py              # 子弹类
│   └── ...
│
├── assets/                     # 游戏资源,如图像和声音
│   ├── images/                # 图像资源
│   │   ├── alien.png          # 外星人的图像
│   │   ├── ship.png           # 飞船的图像
│   │   └── ...
│   └── sounds/                # 声音资源
│       ├── bullet_sound.wav   # 子弹发射的声音
│       └── ...
│
├── tests/                      # 单元测试代码
│   ├── __init__.py            # 测试包初始化
│   ├── test_game_functions.py # 测试game_functions.py的功能
│   ├── test_ship.py           # 测试Ship类
│   ├── test_alien.py          # 测试Alien类
│   └── ...
│
├── main.py                     # 游戏的入口点
│
├── .gitignore                  # Git忽略文件列表
│
├── README.md                   # 项目的主读我文件,通常为Markdown格式
│
└── requirements.txt            # 项目依赖的Python包列

在这里插入图片描述
像这样,我们的目录就算建好了。注意一下上面中的一些模块,跟着文章一起一点一点的填充。

最后,我们稍微给README.md文件写上一些信息,我们的项目目录就算建好了。

概述

这是一个基于Python的太空射击游戏,玩家需要操控飞船击退不断进犯的外星舰队。游戏使用pygame库进行图形渲染和事件处理。

## 使用

- 使用箭头键控制飞船移动。
- 按空格键发射子弹。

## 贡献

欢迎对游戏进行改进!

## 许可证

本项目遵循MIT许可协议。

## 联系我们

如果有任何问题或反馈,请通过电子邮件联系我们:[email protected]

在这里插入图片描述

结尾

今天主要讲讲项目目录的一些知识,并建立好我们的项目目录,接下来就是正式开始编写代码了,加油!

;