@websec007
2020-06-19T03:33:32.000000Z
字数 1556
阅读 1308
2020.Python从入门到实践
(1)第1步:创建一个存储外星人的“空编组”
alien = Group()
(2)第2步:再调用gf中的函数创建外星人;
gf.create_fleet(xxxx, aliens)
===> gf.create_fleet(xxx, alients) 详情见《章节2:2个有关函数》
(3)第3步:绘制外星人到主屏幕;
gf.update_screen(xxxx, aliens)
===> gf.update_screen(xxxx, aliens) 详情见《章节2:2个有关函数》
# 创建外星人舰队def create_fleet(screen, game_settings, aliens):alien = Alien(screen)# 计算一行可用空间;alien_width = alien.rect.widthavailable_space_x = game_settings.width - (2*alien.rect.width)# 计算一行可以存放外星人数量number_aliens_x = available_space_x / (2*alien.rect.width)# 创建第一行外星人for alien_number in range(int(number_aliens_x)):# 创建第一行外星人,并加入当前行alien = Alien(screen)# 外星人逐个排序放置alien.x = alien_width + 2*alien_width*alien_numberalien.rect.x = alien.xaliens.add(alien)
def update_screen(... aliens):....aliens.draw(screen)
def get_number_aliens_x(screen, game_settings,):"""计算一行可以存放多少外星人"""# 创建一个外星人alien = Alien(screen)# 计算一行可以空间大小available_space_x = game_settings.width - 2*alien.rect.width# 计算一行可以存放多少外星人number_aliens_x = available_space_x / (2*alien.rect.width)return number_aliens_xdef create_alien(screen, alien_number, aliens):# 创建一外星人对象,然后获取逐个间隔摆放alien的位置坐标alien = Alien(screen)alien.x = alien.rect.width + alien.rect.width * 2 * alien_numberalien.rect.x = alien.x# 将创建的外星人对象逐个加入编组aliens.add(alien)def create_fleet(screen, game_settings, aliens):# 计算一行可以容纳多少外星人number_aliens_x = get_number_aliens_x(screen, game_settings)# 创建第一行外星人for alien_number in range(int(number_aliens_x)):# 逐个间隔摆放外星人create_alien(screen, alien_number, aliens)
