資源簡介
(1)、外星人游戲添加飛船上下移動功能;
(2)、嘗試為游戲添加爆炸音效和射擊音效;
(3)、在玩家得分、最高得分、玩家等級前添加"Score"、"High Score"、"Level"三個標簽
(4)、添加游戲暫停功能,如按某個按鍵,實現游戲暫停;
(5)、最高得分永久性存儲,在關閉后,再打開游戲時,仍然可以正常讀取和顯示;
(6)、僅當游戲結束時,才進行游戲最高得分的比較和更新;
(7).添加了一個用于開始游戲的play按鈕,在玩家三次未擊中目標時結束游戲,并重新顯示Play按鈕,讓玩家能夠通過單擊該按鈕重新開始游戲;
(8)、在外星人隊列中固定關卡插入高級外星人(圖像與普通外星人不同,但points更高,速度更快),并且boos顯示血條。

代碼片段和文件信息
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
class?BossAlien(Sprite):
“““BOSS外星人“““
def?__init__(self?ai_settings?screen?health=500):
“““初始化外星人并設置其起始位置“““
self.screen?=?screen
self.ai_settings?=?ai_settings
self.health?=?health
#?加載外星人圖像,并設置其rect屬性
self.image?=?pygame.image.load(‘images/enemy2.png‘)
self.rect?=?self.image.get_rect()
self.screen_rect=screen.get_rect()
self.rect.x?=?550
self.rect.y?=?100
#?存儲外星人的準確位置
self.x?=?float(self.rect.x)
#?#設置生命值
#?health=100
def?blitme(self):
“““在指定位置繪制外星人“““
self.screen.blit(self.image?(self.rect.xself.rect.y))
def?draw_health_bar(self?screen):
“““顯示血條“““
#參數依次表示:在SCREEN上面繪制,顏色,(該圖案左上角的坐標,長度和高度)
#灰色的空白血條
pygame.draw.rect(screen?(0?230?0)?((380?100)?(500?10))?)
#紅色的現有血量
pygame.draw.rect(screen?(255?0?0)?((380?100)?(self.health?10))?)
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.bossalien_direction)
self.rect.x?=?self.x
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????11384??2019-06-04?23:45??game_functions.py
?????文件???????1703??2019-05-21?19:59??button.py
?????文件???????2466??2019-05-21?19:59??bullet.py
?????文件???????1828??2019-06-04?23:23??alien_invasion.py
?????文件???????2569??2019-05-21?20:02??alien.py
?????文件??????40044??2019-05-21?21:20??sounds\clickbuttons.wav
?????文件??????20044??2019-05-21?21:14??sounds\firebullets.wav
?????文件??????20044??2019-05-21?21:14??sounds\gameover.wav
?????文件??????20044??2019-05-21?21:14??sounds\levelup.wav
?????文件??????20044??2019-05-21?21:14??sounds\loselifes.wav
?????文件????2254189??2019-05-21?19:42??music\brave.mp3
?????文件??????10494??2016-06-15?02:16??images\alien.bmp
?????文件??????36620??2017-12-02?23:30??images\background.png
?????文件???????5570??2017-12-02?23:30??images\bomb.png
?????文件???????8944??2017-12-02?23:30??images\btn_finish.png
?????文件????????486??2017-12-02?23:30??images\bullet1.png
?????文件????????485??2017-12-02?23:30??images\bullet2.png
?????文件??????10494??2017-12-21?02:58??images\cliens.bmp
?????文件???????2968??2017-12-02?23:30??images\enemy1.png
?????文件???????3365??2017-12-02?23:30??images\enemy1_down1.png
?????文件???????3815??2017-12-02?23:30??images\enemy1_down2.png
?????文件???????5239??2017-12-02?23:30??images\enemy1_down3.png
?????文件???????1723??2017-12-02?23:30??images\enemy1_down4.png
?????文件???????8112??2017-12-02?23:30??images\enemy2.png
?????文件??????10408??2017-12-02?23:30??images\enemy2_down1.png
?????文件??????11562??2017-12-02?23:30??images\enemy2_down2.png
?????文件??????13310??2017-12-02?23:30??images\enemy2_down3.png
?????文件???????3356??2017-12-02?23:30??images\enemy2_down4.png
?????文件???????9126??2017-12-02?23:30??images\enemy2_hit.png
?????文件??????47800??2017-12-02?23:30??images\enemy3_down1.png
............此處省略64個文件信息
評論
共有 條評論