当前位置:   article > 正文

python外星人入侵游戏代码大全-Python外星人入侵游戏编程完整版

。rf十来p来来py上的人上目目y来目来人ar人arp人冫y目目rpp来尸尸p人rr二厂1

PYTHON游戏编程外星人入侵的完整实现思路,具体内容如下

准备工作:下载python,比如Anaconda3(64 bit),导入pygame游戏包

201704181156515.png

201704181156516.png

201704181156517.png

201704181156518.png

201704181156529.png

1.外星人设置,alien.py,代码:

import pygame

from pygame.sprite import Sprite

class Alien(Sprite):

"""表示单个外星人的类"""

def __init__(self,ai_settings,screen):

"""初始化外星人并设置其他位置"""

super(Alien,self).__init__()

self.screen = screen

self.ai_settings = ai_settings

#加载外星人图像,并设置其rect属性

self.image = pygame.image.load('images/alien.bmp')

self.rect = self.image.get_rect()

#每个外星人最初都在屏幕左上角附近

self.rect.x = self.rect.width

self.rect.y = self.rect.height

#存储外星人的准确位置

self.x = float(self.rect.x)

def blitme(self):

"""在指定位置绘制外星人"""

self.screen.blit(self.image,self.rect)

def check_edges(self):

"""如果外星人位于屏幕边缘,就返回True"""

screen_rect = self.screen.get_rect()

if self.rect.right >= screen_rect.right:

return True

elif self.rect.left <= 0:

return True

def update(self):

"""向右移动外星人"""

self.x += (self.ai_settings.alien_speed_factor * self.ai_settings.fleet_direction)

self.rect.x = self.x

2.游戏主程序,alien_invasion.py,代码:

import pygame

from settings import Settings

from game_stats import GameStats

from button import Button

from ship import Ship

from pygame.sprite import Group

import game_functions as gf

from scoreboard import Scoreboard

def run_game():

pygame.init() # 初始化背景设置

ai_settings = Settings() # 全局设置

screen = pygame.display.set_mode( # 创建screen显示窗口

(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:

# 移动飞船

gf.update_ship(ship)

# 更新子弹位置

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()

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/785388
推荐阅读
相关标签
  

闽ICP备14008679号