千家信息网

Python外星人入侵游戏重构键盘鼠标响应的方法是什么

发表于:2024-11-14 作者:千家信息网编辑
千家信息网最后更新 2024年11月14日,本篇内容主要讲解"Python外星人入侵游戏重构键盘鼠标响应的方法是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Python外星人入侵游戏重构键盘鼠
千家信息网最后更新 2024年11月14日Python外星人入侵游戏重构键盘鼠标响应的方法是什么

本篇内容主要讲解"Python外星人入侵游戏重构键盘鼠标响应的方法是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Python外星人入侵游戏重构键盘鼠标响应的方法是什么"吧!

用法分析

在大型项目中,经常需要在添加新代码前重构既有代码。重构旨在简化既有代码的结构,使其更容易扩展。在本节中,我们将创建一个名为game_functions 的新模块,它将存储大量让游戏《外星人入侵》运行的函数。通过创建模块game_functions ,可避免alien_invasion.py太长,并使其逻辑更容易理解。

将check_events() 和update_screen放在一个名为game_functions 的模块中

代码实例

#======================================================
#功能:game_functions 类
#作者:python小哥
#时间:2020-7-5
#微信公众号:DJXY00001
#微信名称:Python提升课堂
#Version:1.0
#======================================================
import sysimport pygamedef check_events():    """响应按键和鼠标事件"""    for event in pygame.event.get():        if event.type == pygame.QUIT:            sys.exit()def update_screen(ai_settings, screen, ship):    """更新屏幕上的图像,并切换到新屏幕"""    # 每次循环时都重绘屏幕    screen.fill(ai_settings.bg_color)    ship.blitme()    # 让最近绘制的屏幕可见    pygame.display.flip()

这个模块中导入了事件检查循环要使用的sys 和pygame 。当前,函数check_events() 不需要任何形参,其函数体复制了alien_invasion.py的事件循环。

下面来修改alien_invasion.py,使其导入模块game_functions ,并将事件循环替换为对函数check_events() 的调用。屏幕更新代码替换为update_screen函数。

#======================================================
#功能:alien_invasion类
#作者:python小哥
#时间:2020-7-5
#微信公众号:DJXY00001
#微信名称:Python提升课堂
#Version:1.0
#======================================================
import pygamefrom settings import Settingsfrom ship import Shipimport game_functions as gfdef run_game():  --snip--  # 开始游戏主循环  while True:    gf.check_events()    gf.update_screen(ai_settings, screen, ship)

其中--snip--代表延续前节的内容。

在主程序文件中,不再需要直接导入sys ,因为当前只在模块game_functions 中使用了它。出于简化的目的,我们给导入的模块game_functions 指定了别名gf 。

代码运行输出:

我们一开始只想使用一个文件,因此没有立刻引入模块game_functions 。这让你能够了解实际的开发过程:一开始将代码编写得尽可能简单,并在项目越来越复杂时进行重构。

到此,相信大家对"Python外星人入侵游戏重构键盘鼠标响应的方法是什么"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0