我试图用《如何像计算机程序员一样思考:学习Python3》一书自学计算机编程。其中一个练习题让我修改PyGames中名为异形的免费Python游戏,请参阅bithub here的完整代码。在
目标是让外星飞船互相碰撞。在
我不确定要包含哪一部分代码,下面是我对现有代码副本所做的修改:
for alien in pygame.sprite.groupcollide(aliens, aliens, 1, 1).keys():
也许很明显外星精灵正处于不断碰撞的状态。所以上面的代码导致了屏幕边缘的大量爆炸,因为外星人会立即与自己发生碰撞(至少这是我想象中发生的事情)
我走下去遇到的成功有限的方法是尝试用精灵的移动方向来区分两个不同的外星精灵(向右是正的,左边是负的)。在
我在圈子里工作了一段时间,觉得我一定是错过了一些显而易见的东西。在
有什么建议吗?在
你说的对,外星人处于“不断碰撞的状态”,所以你需要检查每一个外星人与所有不包括自己的外星人
好吧,这很管用:
它不是最简洁、最直观或最有效的代码,但它能完成任务。 评论应该对此作出充分解释
相关问题 更多 >
编程相关推荐