《python从入门到实践》习题记录:练习12-1

liftword3个月前 (03-08)技术文章23

练习 12.1:蓝色的天空 创建一个背景为蓝色的 Pygame 窗口。

提前准备的工作:在sublime里安装Terminus插件,用来运行命令行。

使用Sublime Text创建工程项目:

在Sublime Text中,选择 Project > Add Folder to Project…




选择12.1的文件夹,然后点击open


按住快捷键Cmd+Shift+P,打开输入Terminus: Toggle Panel唤起命令行工具



开始安装 pygame 库:

1.检查Python和pip是否已安装,在终端工具里输入python3 --version 和 pip3 --version


2.在当前项目中创建虚拟环境python3 -m venv venv


3.激活虚拟环境source venv/bin/activate


4.在虚拟环境中安装pygame



在当前页面按cmd+s保存py文件命名为alien_invasion.py

同时创建py文件settings.py


两个文件:alien_invasion.py和settings.py

alien_invasion.py

import sys
import pygame

from settings import Settings

class AlienInvasion:
	"""管理游戏资源和行为的类"""

	def __init__(self):
		"""初始化游戏兵创建游戏资源"""
		pygame.init()
		self.clock = pygame.time.Clock()
		self.settings = Settings()

		self.screen = pygame.display.set_mode((self.settings.SCREEN_WIDTH, self.settings.SCREEN_HEIGHT))
		pygame.display.set_caption("Alien Invasion")

	def run_game(self):
		"""开始游戏的主循环"""
		while True:
			# 监听键盘和鼠标事件
			self._check_events()
			# 每次循环时都会重绘屏幕
			self._update_screen()
			
			self.clock.tick(60)

	def _check_events(self):
		"""响应按键和鼠标事件"""
		for event in pygame.event.get():
			if event.type == pygame.QUIT:
				sys.exit()

	def _update_screen(self):
	    """更新屏幕上的图像,并切换到新屏幕"""
	    self.screen.fill(self.settings.BG_COLOR)

	    #让最近绘制的屏幕可见
	    pygame.display.flip()

if __name__ == '__main__':
	#创建游戏实例兵运行游戏
	ai = AlienInvasion()
	ai.run_game()

settings.py

class Settings:
	"""存储游戏《外星人入侵》中所有设置的类"""

	def __init__(self):
		"""初始化游戏的设置"""
		#屏幕设置
		self.SCREEN_WIDTH = 1200
		self.SCREEN_HEIGHT = 800
		#蓝色的RGB颜色值是(0, 0, 255)
		self.BG_COLOR = (0, 0, 255)

在终端中运行python3 alien_invasion.py


背景为蓝色的页面展示


相关文章

Python新手精选:20个必做算法题,全面提升编程实力!

以下是针对 Python 新手 精选的 20个必做算法题,涵盖基础语法、逻辑训练和算法思维,附带代码示例和关键学习点:一、基础数学与逻辑1. 判断质数关键点:循环边界优化(只需判断到平方根)2. 斐波...

Python 基础编程题100例

Python是当下很热门的一种编程语言,作为大学生很有必要学习,这里总结了常见的100个编程例题,希望能帮到大家!完整100例Python练习题准备好了↓↓↓...

加班熬夜整理出来的100道Python基础题,学到就是赚到!超级详细

Python在编程圈里可谓是非常流行,最近两年更是火出了编程圈,越来越多不是程序员的朋友也了解到Python,但是,对Python岗位的要求也越来越高。无论你是零基础还是老前辈,对于Python面试都...

这十道经典Python笔试题,全做对算我输

经常有小伙伴学了Python不知道是否能去找工作,可以来看下这十道题检验你的成果:1、常用的字符串格式化方法有哪些?并说明他们的区别a. 使用%,语法糖print("我叫%s,今年%d岁" % ("o...

一学就废|Python基础碎片,关于函数的自测题

测试题1print(type(type(int))) 以输出结果为: A. B. C.Error D.0 题1详细解释在 Python 中,int 是用来表示整数的数据类型。例如 1、100...