康复训练,仅供参考
2018 年第一次接触 Python,使用这本《Python编程:从入门到实践》自学了一个暑假,从此打开编程世界的大门。第一次的做的项目就是这个“外星人入侵”的小游戏。
1 整体规划
1.1 游戏描述
在游戏《外星人入侵》中,玩家控制着一艘最初出现在屏幕底部中央的飞船。玩家可以使用箭头键左右移动飞船,还可使用空格键进行射击。游戏开始时,一群外星人出现在天空中,他们在屏幕中向下移动。玩家的任务是射杀这些外星人。玩家将所有外星人都消灭干净后,将出现一群新的外星人,他们移动的速度更快。只要有外星人撞到了玩家的飞船或到达了屏幕底部,玩家就损失一艘飞船。玩家损失三艘飞船后,游戏结束。文章源自十年又十年-https://www.bbigsun.com/99.html
1.2 开发步骤
将游戏划分为 3 个模块,按照顺序依次开发:文章源自十年又十年-https://www.bbigsun.com/99.html
- 武装飞船模块
- 外星人模块
- 记分模块
1.3 搭建虚拟环境
- 安装 Python
- 安装 virtualenv:
pip install virtualenv
- 创建虚拟环境:
virtualenv alien_invasion
- 使用虚拟环境:
.\alien_invasion\Scripts\activate
1.4 安装 pygame 模块
pip install pygame
2 武装飞船模块
2.1 项目初始化
目录结构:文章源自十年又十年-https://www.bbigsun.com/99.html
alien_invasion
├─images
│ ├─rocket.bmp
│ ├─ship.bmp
│ └─ufo.bmp
├─ship.py
├─main.py
├─settings.py
└─ship.py
2.1.1 Settings 类
settings.py
文章源自十年又十年-https://www.bbigsun.com/99.html
class Settings():
def __init__(self):
"""游戏初始化设置"""
# 屏幕设置
self.screen_width = 1200
self.screen_height = 800
self.title = "Alien Invasion"
self.bg_color = (230, 230, 230)
2.1.2 主入口
main.py
文章源自十年又十年-https://www.bbigsun.com/99.html
import sys, pygame
from settings import Settings
def run_game():
# 初始化游戏并创建一个屏幕对象
pygame.init()
game_settings = Settings()
screen = pygame.display.set_mode((game_settings.screen_width, game_settings.screen_height))
pygame.display.set_caption(game_settings.title)
# 开始游戏主循环
while True:
# 监视键盘和鼠标事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
# 每次循环都重新绘制屏幕
screen.fill(game_settings.bg_color)
# 让最近绘制的屏幕可见
pygame.display.flip()
if __name__ == '__main__':
run_game()
2.2 开发飞船模块
2.2.1 下载素材
创建 images 文件夹,可以从这个网站 https://pixabay.com/ 下载合适的素材。
这里我下载了三个素材,为 rocket.bmp, ufo.bmp, ship.bmp文章源自十年又十年-https://www.bbigsun.com/99.html
2.2.2
外星人文章源自十年又十年-https://www.bbigsun.com/99.html
3 外星人模块
4 记分模块
文章源自十年又十年-https://www.bbigsun.com/99.html文章源自十年又十年-https://www.bbigsun.com/99.html纸上得来终觉浅,绝知此事要躬行。
17688689121
我的微信
微信扫一扫
评论