From 9e72d2db22d0328cd705cf0b83d4f00db931d377 Mon Sep 17 00:00:00 2001 From: 206530225 <1225859578@qq.com> Date: Wed, 23 Jun 2021 13:16:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20'Alien=5FInvasion.py'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Alien_Invasion.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/Alien_Invasion.py b/Alien_Invasion.py index fba25b3..251a1f6 100644 --- a/Alien_Invasion.py +++ b/Alien_Invasion.py @@ -55,6 +55,28 @@ class AlienInvasion: # 管理游戏资源和行为的类11 available_space_x = self.settings.screen_width - (2 * alien_width) number_aliens_x = available_space_x // (2 * alien_width) + + + # 计算屏幕可容纳多少行外星人 + ship_height = self.ship.rect.height + available_space_y = (self.settings.screen_height - + (3 * alien_height) - ship_height) + number_rows = available_space_y // (2 * alien_height) + + # 创建外星人群 + for row_number in range(number_rows): + for alien_number in range(number_aliens_x): + self._create_alien(alien_number, row_number) + + def _create_alien(self, alien_number, row_number): + """创建一个外星人并将其放在当前行""" + alien = Alien(self) + alien_width,alien_height = alien.rect.size + alien.x = alien_width + 2 * alien_width * alien_number + alien.rect.x = alien.x + alien.rect.y = alien.rect.height + 2 * alien.rect.height * row_number + self.aliens.add(alien) + def run_game(self): # 开始游戏主循环 while True: self._check_events()