python大作业外星人入侵_【python3小白上路系列】外星人入侵——开始
早起的周日,今日阴天,老爸生日快乐~
开始项目
首先创建一个空的Pygame窗口,供后面用来绘制游戏元素,如飞船和外星人。我们还将让这个游戏响应用户输入、设置背景色以及加载飞船图像。
1.1.1 创建Pygame窗口以及相应用户输入
首先,我们创建一个空的Pygame窗口。使用Pygame编写的游戏的基本结构如下:
import pygame
import sys
import pygame
def run_game():
# 初始化游戏并创建一个屏幕对象
pygame.init()
screen = pygame.display.set_mode((1920,1080))
pygame.display.set_caption("Alien Invasion")
# 开始游戏的主循环
while True:
#监视键盘和鼠标事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
#让最近绘制的屏幕可见
pygame.display.flip()
run_game()
现在运行的话,我们会看到一个空的Pygame窗口。
1.1.2 设置背景色
Pygame默认创建一个黑色屏幕,这太乏味了。下面来将背景设置为另一种颜色:
import pygame
import sys
import pygame
def run_game():
# 初始化游戏并创建一个屏幕对象
pygame.init()
screen = pygame.display.set_mode((1920,1080))
pygame.display.set_caption("Alien Invasion")
# 设置背景色
bg_color = (230,230,230)
# 开始游戏的主循环
while True:
#监视键盘和鼠标事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
#每次循环时都重绘屏幕
screen.fill(bg_color)
#让最近绘制的屏幕可见
pygame.display.flip()
run_game()
让我们再来运行一下:
1.1.3 创建设置类
每次给游戏添加新功能时,通常也将引入一些新设置。下面来编写一个名为settings 的模块,其中包含一个名为Settings 的类,用于将所有设置存储在一个地方,以免在代码中到处添加设置。这样,我们就能传递一个设置对象,而不是众多不同的设置。另外,这让函数调用更简单,且在项目增大时修改游戏的外观更容易:要修改游戏,只需修改settings.py中的一些值,而无需查找散布在文件中的不同设置。
下面是初始设置:
class Settings():
"""存储游戏所有设置"""
def __init__(self):
"""初始化游戏设置"""
#屏幕设置
self.screen_width = 1200
self.screen_height = 800
self.bg_color = (230,230,230)
为创建Settings 实例并使用它来访问设置,将alien_invasion.py修改成下面这样:
import pygame
import sys
import pygame
from settings import Settings
def run_game():
# 初始化游戏并创建一个屏幕对象
pygame.init()
ai_settings = Settings()
screen = pygame.display.set_mode(
(ai_settings.screen_width,ai_settings.screen_height))
pygame.display.set_caption("Alien Invasion")
# 开始游戏的主循环
while True:
#监视键盘和鼠标事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
#每次循环时都重绘屏幕
screen.fill(ai_settings.bg_color)
#让最近绘制的屏幕可见
pygame.display.flip()
run_game()
运行结果:
就到这里吧,准备出去溜~
python大作业外星人入侵_【python3小白上路系列】外星人入侵——开始相关推荐
- python大作业爬虫_爬虫大作业
1.选一个自己感兴趣的主题(所有人不能雷同). 2.用python 编写爬虫程序,从网络上爬取相关主题的数据. 3.对爬了的数据进行文本分析,生成词云. 4.对文本分析结果进行解释说明. 5.写一篇完 ...
- python大作业代码_爬虫大作业(示例代码)
1.选一个自己感兴趣的主题(所有人不能雷同). 每天都有接触各大平台推送的新闻,了解到了校园外的大小事.故此,对新浪新闻标题的关键字的爬取,看看最近发生的实时,也想比较下标题党还是和实际内容的差异. ...
- python大作业代码_大二期末python大作业有效代码不低于5000行是什么水平?
6月30日更新 鉴于题主说老师已经收回对行数的要求,就请大家看过则罢,不要再点赞了(还有收藏的是什么鬼?).本文说的不过是一些投机取巧的伎俩,不值取,不可取. ~~~以下是原文~~~: 一个熟练工程序 ...
- _【超详细指北】python大作业!
[超详细指北]python大作业! 这是笔者最近写python大作业时写的一个实现过程笔记,也就是基本上可以说是本人从0开始上手的一个python练习.程序和本文档从 4.29-5.15日 总共历 ...
- kaggle经典题--“泰坦尼克号”--0.8275准确率--东北大学20级python大作业开源(附详细解法与全部代码以及实验报告)
kaggle经典题--"泰坦尼克号"--0.8275准确率--东北大学20级python大作业开源(附详细解法与全部代码以及实验报告) 前言 开发环境 一.导入包: 二.实验数据的 ...
- Python011: Python大作业之移动的小火车动画(四)代码实现
书接上文:Python010: Python大作业之移动的小火车动画(三)结果显示 0.注意: 该项目使用的库和资源说明如下: pygame 2.0.1 (SDL 2.0.14, Python 3 ...
- Python大作业之就诊卡管理信息系统[原创]
Python大作业之就诊卡管理信息系统[原创] 项目地址: 网页链接:http://patientcard.dreamtownapi.com/ 后端地址:http://django.dreamtown ...
- html网页设计代码作业——家乡介绍-长治(8页) HTML+CSS+JavaScript 学生DW网页设计作业成品 html网页制作期末大作业成品_网页设计期末作业
HTML5期末大作业:家乡介绍网站设计--家乡介绍-长治(8页) HTML+CSS+JavaScript 学生DW网页设计作业成品 html网页制作期末大作业成品_网页设计期末作业 常见网页设计作业题 ...
- html期末作业代码网页设计——云南民族文化(8页) HTML+CSS+JavaScript html网页制作期末大作业成品_网页设计期末作业
HTML5期末大作业:家乡文化网站设计--云南民族文化(8页) HTML+CSS+JavaScript html网页制作期末大作业成品_网页设计期末作业 常见网页设计作业题材有 个人. 美食. 公司. ...
最新文章
- 异常 try catch finally return 执行关系 MD
- 【树链剖分】春季大扫除(P6805)
- 【渝粤教育】电大中专幼儿园课程论 (7)作业 题库
- 多浏览器判断,切换及使用
- Linux按照行数、大小切分文件
- 关于shiro授权 This subject is anonymous - it does not have any identifying principals and authorization
- Hexo,自定义博客主题
- 循序渐进之Spring AOP(5) - 创建切面
- windows核心编程第二章阅读
- [BX]和loop指令06 - 零基础入门学习汇编语言28
- qt之解决qtableview加载百万行数据卡顿问题
- idea学生授权申请
- 盘点:2012中国互联网大会十大亮点
- java 刘意 2018_2018年刘姓宝宝起名,2018年刘姓宝宝名字大全
- vue单页面怎么做SEO优化
- 人类的智能是如何产生的
- react-子传父案例(汇率转换)
- 一文讲解单片机、ARM、MCU、DSP、FPGA、嵌入式错综复杂的关系
- TypeScript(八)装饰器
- 《点石成金》(持续更新)
热门文章
- java能否调用com_java调用com
- linux nona怎么用_nano命令_Linux nano 命令用法详解:字符终端文本编辑器
- windows python 访问mtp存储空间_用Windows电脑训练深度学习模型?超详细配置教程来了...
- linux unix域socket_Socket通信原理
- java怎么把system.out的东西输出到文件上
- !doctype html报错h5,【Web前端问题】javascript import 报错
- 谷歌发布最新版安卓Android,谷歌正式除名华为,安卓12华为首发无望,但鸿蒙将迎难顶上!...
- php制作简单的用户登陆,如何用php代码实现简单的用户登陆以及登陆验证功能
- roads 构筑极致用户体验_长安马自达「悦马星空」计划上线,为用户带来极致服务体验...
- 【处理手记】Configuration system failed to initialize异常的另类原因