Python外星人入侵完整代码和注释(一)

本外星人入侵游戏包括一个主运行程序(alien_invasion.py)和八个模块。

一、主运行程序(alien_invasion.py)

1、创建alien_invasion.py(import sys和import pygame)

2、方法run_game()   

初始化游戏并创建一个屏幕对象(是该项目的主程序入口)

while True :开始游戏主循环   event :监视键盘和鼠标事件

pygame.display.flip() :让绘制的屏幕可见

主要代码

从主运行程序中,导入其它八个模块

import sys
import pygame
from settings import Settings
from game_stats import GameStats
from ship import Ship
import game_functions as gf
from pygame.sprite import Group
from alien import Alien
from button import Button
from scoreboard import Scoreboard
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")
    #创建Play按钮
    play_button = Button(ai_settings,screen,"Play")
    #创建一个用于存储游戏统计信息的案例,并创建记分牌
    stats = GameStats(ai_settings)
    sb = Scoreboard(ai_settings,screen,stats)
    #创建一艘飞船、一个子弹编组和一个外星人编组
    ship = Ship(ai_settings,screen)
    bullets = Group()
    aliens = Group()
    #创建外星人群
    gf.create_fleet(ai_settings,screen,ship ,aliens)
    #设置背景颜色
    #bg_color = (230,230,230)
    #创建一个外星人
    alien = Alien(ai_settings,screen)
    #开始游戏的主循环
    while True:
        #主循环检查玩家的输入
        gf.check_events(ai_settings,screen,stats,sb,play_button,ship,aliens,bullets)
        if stats.game_active:
            #更新飞船的位置
            ship.update()
            #所有未消失的子弹的位置
            gf.update_bullets(ai_settings,screen,stats,sb,ship,aliens,bullets)
            #更新外星人的位置
            gf.update_aliens(ai_settings,stats,screen,sb,ship,aliens,bullets)
        #更新后的位置来绘制新屏幕
        gf.update_screen(ai_settings,screen,stats,sb,ship,aliens,bullets,play_button)


run_game()


点击链接 https://blog.csdn.net/ljt101222/article/details/81252399  进入Python外星人入侵完整代码和注释(二)

 

 

  • 5
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值