Python游戏开发--外星人入侵游戏(一)

Python游戏开发–外星人入侵游戏(一)


前文回顾: Python教程实例–if语句的使用.


在本文中,我将尝试去进行自己的第一个项目,该项目将完全参考埃里克·马瑟斯先生的著作进行编写,在此对埃里克·马瑟斯先生表示由衷的谢意。

创建游戏是趣学语言的理想方式。看别人玩你编写的游戏让你很有满足感,而编写简单的游戏有助于你明白专业级游戏是怎么编写出来的。在阅读本章的过程中,请动手输入并运行代码,以明白各个代码块对整个游戏所做的贡献,并尝试不同的值和设置,这样你将对如何改进游戏的交互性有更深入的认识


提醒

  • 游戏《外星人入侵》将包含很多不同的文件,因此请在你的系统中新建一个文件夹,并
    将其命名为alien_invasion。请务必将这个项目的所有文件都存储到这个文件夹中,这样
    相关的import语句才能正确地工作
  • 做好规划后再动手编写项目很重要。规划可确保你不偏离轨道,从而提高项目成功的可能性

游戏玩法:

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

  • 题目来源:“Python编程 从入门到实践 ,埃里克·马瑟斯”

阶段1:

安装Pygame,由于不同人使用的编译器不同,故安装方法可百度。

阶段2:

句柄框的建立,详细内容将在代码注释中解释

阶段二代码
import sys #模块sys用来退出游戏
import pygame #pygame模块,用来制作我们的游戏

def run_game():#定义函数
    #初始化游戏,创建窗口句柄
    pygame.init()  #对背景初始化,让pygame能正常工作
    screen=pygame.display.set_mode((800,600))#窗口大小设置,可自定
    pygame.display.set_caption("外星人入侵")#标题定义

    #开始游戏主循环
    while True:
        # 监视键盘和鼠标事件
        for event in pygame.event.get():   #不断监测事件
            if event.type==pygame.QUIT:
                sys.exit()  #如果检测到退出,则退出游戏
        pygame.display.flip() #flip翻转,加上while循环,即不断刷新屏幕

run_game()


在这个基本的游戏结构中,最后一行调用run_game(),这将初始化游戏并开始主循环。
如果此时运行这些代码,你将看到一个空的Pygame窗口。如图所示


阶段3-背景框颜色的设定:

如果感觉黑色的背景色过于难看,我们可在阶段二的代码中间加入背景色的设置,可更改其为我们喜欢的颜色。python中颜色为RGB色来规定,可百度颜色得其对应的RGB值。我个人决定用粉色来作为背景框pink, #FFC0CB, RGB是255,192,203

阶段3 代码
import sys #模块sys用来退出游戏
import pygame #pygame模块,用来制作我们的游戏

def run_game():#定义函数
    #初始化游戏,创建窗口句柄
    pygame.init()  #对背景初始化,让pygame能正常工作
    screen=pygame.display.set_mode((800,600))#窗口大小设置,可自定
    pygame.display.set_caption("外星人入侵")#标题定义
    bg_color = (255,192,203)#设置背景颜色为粉色 bg background

    #开始游戏主循环
    while True:
        # 监视键盘和鼠标事件
        for event in pygame.event.get():   #不断监测事件
            if event.type==pygame.QUIT:
                sys.exit()  #如果检测到退出,则退出游戏
        pygame.display.flip() #flip翻转,加上while循环,即不断刷新屏幕
        screen.fill(bg_color) #每次循环都填充颜色

run_game()

结果展示

粉色背景框

布置-课下作业

尝试敲出代码,而不是复制所得,并对代码做一些微调

  • 任务要求
  1. 窗口的大小进行调整,尝试不同的大小运行
  2. 背景颜色的改变,绿色,蓝色……
  3. 扩展:自学如何添加一个按钮在界面中,要求单击按钮关闭程序

附录: 暂无


下期预告: Python游戏开发–外星人入侵游戏(二).
暂且为空白。

  • 4
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值