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

article/2025/9/7 1:42:28

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游戏开发–外星人入侵游戏(二).
暂且为空白。


http://chatgpt.dhexx.cn/article/VxchZji5.shtml

相关文章

python游戏开发实战:酷跑游戏

一.游戏运行效果 二.简介 游戏操作: 跳跃:空格或继续游戏 前进:D 后退:A 这个项目是我为了快速熟悉pygame写来练手的.项目结构与代码组织方面还存在一些问题.我会在后续的文章中做出改进. 下载地址:https://pan.baidu.com/s/12CZ52597Saablcn1Q7oRTA 三.开发思路 1.地图滚动思…

Python游戏开发:数字华容道

数字推盘游戏(n-puzzle)是一种智力游戏,常见的类型有十五数字推盘游戏和八数字推盘游戏等。十五数字推盘游戏的板上会有十五个方块和一个大小相当于一个方块的空位(供方块移动之用),当15个数字依次排序并且最后一个格子为空位即代表挑战成功。 本文使用 PyQt5 进行设计与…

小学生要学python开发游戏吗

小学生要学python开发游戏吗    小学生要学python开发游戏吗?为什么 而学, 到底需要如何做到, 又该如何学习. 就我个人来说, 小学生要学python开发游戏吗很有意义, 不能不说非常重大.    一般来讲, 我们都必须务必慎重的考虑考虑. 莎士比亚在不经意间这样说过&a…

Python开发游戏?也太好用了吧

程序员宝藏库:https://gitee.com/sharetech_lee/CS-Books-Store 当然可以啦! 现在日常能够用到和想到的场景,绝大多数都可以用Python实现。 效果怎么样暂且不提,但是得益于丰富的第三方工具包,的确让Python能够很容易…

如何使用python游戏开发模块—pygame?

Pygame是一组旨在编写视频游戏的Python模块。Pygame可以使用python语言创建功能齐全的游戏和多媒体程序。Pygame具有高度的可移植性,几乎可以在所有平台和操作系统上运行。Pygame至今已被下载了数百万次。Pygame非常流行的一个原因是免费。下面,小编就教…

Python游戏开发,Python实现开心消消乐小游戏 附带源码

开发工具 Python版本: 3.6.4 相关模块: pygame模块; 以及一些Python自带的模块。 环境搭建 安装Python并添加到环境变量,pip安装需要的相关模块即可。 效果展示 原理简介 游戏规则: 玩家通过鼠标交换相邻的拼…

Python游戏开发--外星人入侵(源代码)

文章目录 1.效果展示2. 《外星人入侵》源代码2.1 image2.2 alien_invasion.py2.3 alien.py2.4 bullet.py2.5 button.py2.6 game_stats.py2.7 scoreboarf.py2.8 settings.py2.9 ship.py 最近学习的python第一个项目实战,《外星人入侵》,成功实现所有功能&…

小学生python游戏开发pygame--初始及基础知识

#1024程序员节|用代码,改变世界# 小学生python游戏开发pygame1--基础知识 前言知识点1、python知识点1.1 RGB 颜色表示1.2 类2.3 pygame.display.update()2.4 加载图片2.5 鼠标 键盘2.6 颜色2.7 中文字体2.8 音效 总结源码获取 前言 Pygame是被设计用来…

Python游戏开发工程师的起步,几款游戏开发案例

Pylash项目地址 创建项目 这样的话我们的项目就创建好了,然后只用往Main.py里填写代码运行即可。 编写Hello World小程序 编写游戏 有以上对pylash的小小了解,我们接下来可以开始编写游戏了。首先我们把第四行以后所有代码删除。 引入所需 全局变量 …

适合python游戏开发的库你知道几个?

python游戏开发的库 01 PyGame 官网: https://www.pygame.org/docs/ 概述: Pygame 是一组专为编写视频游戏而设计的 Python 模块。 它在优秀的 SDL 库之上添加了功能。这允许您使用 python 语言创建功能齐全的游戏和多媒体程序。Pygame具有高度的可…

Python游戏开发实战教程

Python游戏开发实战教程 学习 Python 中的高级游戏编程 此视频教程共27.0小时,中英双语字幕,画质清晰无水印,源码附件全 课程英文名:Learn 10 Games using Python - 2021 下载地址 百度网盘地址:https://pan.baidu.…

Python游戏开发,pgzrun模块,Python实现阿肯色克隆人游戏

前言 利用Python实现Python和PyGameZero编写阿卡尼类(Outout)的克隆,废话不多说。 让我们愉快地开始吧~ 开发工具 **Python版本:**3.6.4 相关模块: pgzrun模块; 以及一些Python自带的模块。 环境搭建 安装Python并添加到…

python游戏开发必有套路

游戏开发很简单,只需几个步骤 重点: 控制和显示窗口: pygame.display.方法 必有步骤1:创建游戏窗口 初始化游戏窗口 pygame.init() 设置游戏窗口 必用到pygame里的display模块,记住只要是控制和显示窗口和屏幕,都会调用display模块…

Python开发系列课程(12) - 图形用户界面和游戏开发

图形用户界面和游戏开发 基于tkinter模块的GUI GUI是图形用户界面的缩写,图形化的用户界面对使用过计算机的人来说应该都不陌生,在此也无需进行赘述。Python默认的GUI开发模块是tkinter(在Python 3以前的版本中名为Tkinter)&…

【python游戏开发】:那些由python开发的知名网站和游戏你知道多少

前言 众所周知,Python不仅在数据分析和人工智能方面有着广泛的应用,而且在网站开发和游戏开发方面也是独一无二的。今天,大美将带你去看看哪些知名的大公司和网站是用Python开发的,还有一些用Python开发的超级游戏。列出一些著名…

python游戏开发的五个案例分享

本文给大家分享了作者整理的五个python游戏开发的案例,通过具体设计思路,代码等方面详细了解python游戏开发的过程,非常的详细,希望大家能够喜欢 一、序列应用——猜单词游戏 1. 游戏介绍 猜单词游戏就是计筧机随机产生一个单词,打乱字母顺序,供玩家去…

pgzero:用 Python 进行游戏开发

1. pgzero python在各个领域都有着丰富的第三方库,pygame是python在游戏领域的应用库,可以用来开发各种不同的游戏。但是对于初学者来说,还是存在一定的门槛。 而今天要和大家分享的pgzero(pygame zero)是在pygame基础…

Python3爬虫、数据清洗与可视化实战之写一个简单的爬虫

文章目录 关于爬虫的合法性了解网页认识网页结构写一个简单的HTML 使用requests库请求网站安装requests库爬虫的基本原理使用GET方式抓取数据使用POST方式抓取数据 使用Beautiful Soup解析网页清洗和组织数据爬虫攻防战 关于爬虫的合法性 几乎每一个网站都有一个名为robots.tx…

Python3.X 爬虫实战(并发爬取)

【工匠若水 http://blog.csdn.net/yanbober 未经允许严禁转载,请尊重作者劳动成果。私信联系我】 1 背景 在这一系列开始前我们就说过,简单的爬虫很容易,但是要完成一个高效健壮的爬虫不是一个简单的事情,这一系列我们已经明白了爬…

Python爬虫(三)

Python爬虫(三) 一、ajax请求豆瓣电影第一页 # get请求 # 获取豆瓣电影的第一页数据并保存 import urllib.request url https://movie.douban.com/j/chart/top_list?type5&interval_id100%3A90&action&start0&limit20 headers {use…