企业项目管理、ORK、研发管理与敏捷开发工具平台

网站首页 > 精选文章 正文

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

wudianyun 2025-05-30 17:54:56 精选文章 9 ℃

练习 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


背景为蓝色的页面展示


最近发表
标签列表