Python编程 外星人入侵

阅读: 评论:0

Python编程 外星人入侵

Python编程 外星人入侵

首先安装PIP

在Python3.6及更新的版本中,PIP已经捆绑安装了,不需要再单独安装

可以PIP升级

python -m install pip --upgrade pip

安装Pygame
打开cmd
输入

python -m pip install pygame --user

然后就开始游戏项目了
注意一下 游戏中要用到的飞船和外星人文件在(ituring/book/1861)可以找到
alien_invasion.py

import pygame
from pygame.sprite import Group
from settings import Settings
from game_stats import GameStats
from scoreboard import Scoreboard
from button import Button
from ship import Ship
import game_functions as gfdef 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)#开始游戏的主循环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, screen, stats, sb, ship,aliens, bullets) gf.update_screen(ai_settings, screen, stats, sb, ship, aliens,bullets, play_button)run_game()

settings.py

class Settings():"""存储 《《外星人入侵》》的所有设置的类"""def __init__(self):"""初始化游戏的静态设置"""# 屏幕设置self.screen_width = 1200self.screen_height = 800self.bg_color = (230, 230, 230)# 飞船的设置self.ship_limit = 3# 子弹设置self.bullet_width = 3self.bullet_height = 15self.bullet_color = 60, 60, 60self.bullets_allowed = 3# 外星人设置self.fleet_drop_speed = 10# 加游戏节奏的速度self.speedup_scale = 1.1# 外星人点数的提高速度self.score_scale = 1.5self.initialize_dynamic_settings()def initialize_dynamic_settings(self):"""初始化随游戏进行而变化的设置"""self.ship_speed_factor = 1.5self.bullet_speed_factor = 3self.alien_speed_factor = 1# fleet_direction为1表示向右移, 为-1表示向左移self.fleet_direction = 1# 记分self.alien_points = 50def increase_speed(self):"""提高速度设置和外星人点数"""self.ship_speed_factor *= self.speedup_scaleself.bullet_speed_factor *= self.speedup_scaleself.alien_speed_factor *= self.speedup_scaleself.alien_points = int(self.alien_points * self.score_scale)

ship.py

import pygame
from pygame.sprite import Spriteclass Ship(Sprite):def __init__(self, ai_settings, screen):"""初始化飞船并设置其初始位置"""super(Ship, self).__init__()self.screen = screenself.ai_settings = ai_settings# 加载飞船图像并获取其外接矩形self.image = pygame.image.load('images/ship.bmp') = _rect()self.screen_rect = _rect()# 将每艘新飞船放在屏幕底部中央x = self.bottom = self.screen_rect.bottom# 在飞船的属性center中存储小数指 = enterx)# 移动标致ving_right = ving_left = Falsedef update(self):"""根据移动标致调整飞船位置"""# 更新飞船的center值, 而不是ving_right ight < self.screen_rect. += self.ai_settings.ship_speed_ving_left left >  -= self.ai_settings.ship_speed_

本文发布于:2024-01-31 15:28:23,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170668610129516.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:外星人   Python
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23