美文网首页
【python3小白上路系列】重构+回顾

【python3小白上路系列】重构+回顾

作者: Charles_DT | 来源:发表于2020-08-12 22:39 被阅读0次

随着功能的不断添加,我们发现check_events()越来越长,我们将其部分代码放在两个函数中:一个处理KEYDOWN 事件,另一个处理KEYUP事件:

import pygame

from setting import Settings
from ship import Ship
import game_functions as gf

def rungame():
    #初始化游戏并创建一个屏幕对象
    pygame.init()

    #实例化设置对象
    ai_settings = Settings()
    screen = pygame.display.set_mode((ai_settings.screen_width,ai_settings.screen_height))
    pygame.display.set_caption("Alien Invasion")

    #创建一只飞船
    ship = Ship(ai_settings,screen)
      
    #开始游戏主循环
    while True:
        gf.check_events(ship)
        ship.update()
        gf.update_screen(ai_settings,screen,ship)

rungame()

这里我们把按键按下和松开分成了两个函数,把条件判断分别放进去,这样感觉结构清晰了很多。

简单回顾一下已经完成的功能~

alien_invasion.py

这是我们整个游戏的核心,包括游戏主循环,ai_setting设置,存储在screen中的主显示,以及飞船实例。运行游戏时运行该文件。

setting.py

包括初始化控制游戏外观和飞船速度参数。

game_functions.py

文件game_functions.py包含一系列函数,游戏的大部分工作都是由它们完成的。函数check_events() 检测相关的事件,如按键和松开,并使用辅助函 数check_keydown_events() 和check_keyup_events() 来处理这些事件。就目前而言,这些函数管理飞船的移动。模块game_functions 还包含函 数update_screen() ,它用于在每次执行主循环时都重绘屏幕。

ship.py

文件ship.py包含Ship 类,这个类包含方法init() 、管理飞船位置的方法update() 以及在屏幕上绘制飞船的方法blitme() 。表示飞船的图像存储在文件夹images下的文件ship.bmp中。

后面我们要增加射击功能、增加敌军,让整个游戏更完整,期待一下吧~

相关文章

网友评论

      本文标题:【python3小白上路系列】重构+回顾

      本文链接:https://www.haomeiwen.com/subject/tnqpdktx.html