集智社区
资源加载中,请稍后...
集智社区

集智社区

Sic Parvis Magna

求助(未解决)

《python入门编程与实践》书里的外星人大战游戏问题

发表至编程讨论

《python入门编程与实践》书里的外星人大战游戏

检测完外星人与飞船撞击后,重置外星人和飞船,遇到了外星人重置但飞船没有回到设置的坐标。 代码太多,贴上相关的部分代码。

def ship_hit(ai_settings,stats,screen,ship,aliens,bullets):
    """响应被外星人撞到的飞船"""
    if stats.ships_left > 0:
        stats.ships_left -= 1
        aliens.empty()                                      #清空外星人和子弹列表
        bullets.empty()
        create_fleet(ai_settings,screen,ship,aliens)        #创建新的外星人,并将飞船放到底部中央
        ship.center_ship()
        sleep(0.5)                                          #暂停 
    else:
        stats.game_active = False
    def center_ship(self):
        """让飞船在屏幕上居中"""
        self.rect.centerx = self.screen_rect.centerx
        self.rect.bottom = self.screen_rect.bottom

我写的代码里飞船是可以在屏幕自由移动,原版代码是只能在底部移动,会不会与此有关?

回复
0
#1

没有上下文,不太好判断。

最新回复:收起讨论