#game_fuction
def start_new_level(bullets,aliens,ai_settings,stats,sb,screen,ship):
# 刪除現有的子彈並新建一群外星人
if len(aliens) == 0:
# 刪除現有的子彈,加快遊戲節奏,並建立一群新的外星人
bullets.empty()
ai_settings.increase_speed()
# 提高等級
stats.level+=1
sb.prep_level()
create_fleet(ai_settings, screen, ship, aliens)
def check_bullet_alien_collisions(bullets,aliens,ai_settings,screen,ship,stats,sb):
# 檢查是否有子彈擊中了外星人
# 如果是這樣,就刪除相應的子彈和外星人
colisions = pygame.sprite.groupcollide(bullets, aliens, true, true)
if colisions:
for aliens in colisions.values():
stats.score+=ai_settings.alien_points*len(aliens)
sb.prep_score()
check_high_score(stats,sb)
# 刪除現有的子彈並新建一群外星人
start_new_level(bullets, aliens, ai_settings, stats, sb, screen, ship)
#scoreboard.py
class scoreboard():
"""顯示得分資訊的類"""
def __init__(self,screen,ai_settings,stats):
"""初始化顯示得分涉及的屬性"""
self.screen=screen
self.screen_rect=screen.get_rect()
self.ai_settings=ai_settings
self.stats=stats
#顯示得分資訊時使用的字型設定
self.text_color=(30,30,30)
self.font=pygame.font.sysfont(none,48)
#準備包含最高得分和當前的份的影象
# 準備包含得分的初始影象
self.prep_images()
def prep_images(self):
# 準備包含最高得分和當前的份的影象
# 準備包含得分的初始影象
self.prep_score()
self.prep_high_score()
self.prep_level()
self.prep_ships()
def check_play_button(stats,play_button,mouse_x,mouse_y,ai_settings,sb,aliens,bullets,screen,ship):
"""在玩家單擊play按鈕時開始新遊戲"""
button_clicked=play_button.rect.collidepoint(mouse_x,mouse_y)
if button_clicked and not stats.game_active:
#重置遊戲設定
ai_settings.initialize_dynamic_settings()
#隱藏游標
pygame.mouse.set_visible(false)
# 重置遊戲統計資訊
stats.reset_stats()
stats.game_active = true
#重置記分牌影象
sb.prep_images()
# 清空外星人列表和子彈列表
aliens.empty()
bullets.empty()
create_fleet(ai_settings, screen, ship, aliens)
ship.center_ship()
def start_game(play_button,mouse_x,mouse_y,stats):
if play_button.rect.collidepoint(mouse_x,mouse_y):
stats.game_active=true
Python程式設計 從入門到實踐 1
內容總結自 python程式設計 從入門到實踐 安裝python3 安裝文字編輯器sublime text並配置python3環境 安裝sublime text tools new build system 將 untitled.sublime build 文件中的所有內容刪除,輸入以下內容 注意,...
《Python程式設計 從入門到實踐》 1
2.變數和簡單資料型別 mystr this is a string print mystr 引號括起的都是字串,可以單引號,也可以雙引號。單引號內能帶雙引號,不能帶單引號,反之亦然。mystr.title mystr字串的每個單詞的首字母都大寫,其他字母都小寫 mystr.upper mystr字...
Python 程式設計 從入門到實踐
1.官網安裝 3.環境配置 務必選中核取方塊add python to path 4.檢視 啟動python版本的命令 python 執行 print hello python world 5.終端執行x.py檔案 python x.py 7.檢視當前目錄中的所有檔案的命令 dir windows系...