-1

我会留下一个简单的关卡系统。当分数变量达到一定数量时,它会增加敌人(球)和速度(速度),例如:

if score >= 500:
   enemies=6
   velocity=2

我尝试了几种方法,我的第一次尝试就像我的游戏循环中的上述方法,但我无法即时更改它,错误:

Traceback (most recent call last):
 File "C:\Users\MO\Desktop\Twerk\ballbounce_changed.py", line 233, in <module>
  game()
File "C:\Users\MO\Desktop\Twerk\ballbounce_changed.py", line 182, in game
 positionx[i]=positionx[i]+positionxmove[i]
  IndexError: list index out of range

我也尝试了其他不起作用的方法。你能帮我实现一个等级系统吗?我的游戏代码可以在这里找到:http: //pastebin.com/nhqKdR19

谢谢

4

2 回答 2

1

问题是您的代码最初从具有 3 个元素的列表开始,然后您将敌人数量增加到 6 个而不扩展列表。这会导致您的更新循环在列表的末尾运行,因为它试图更新到列表的末尾。当您增加敌人时,您还需要将新值附加到列表中以将它们扩展 3 个条目。要扩展已经存在的列表,请使用name_of_your_list.append(new_value).

于 2012-04-27T22:48:59.613 回答
1

代替:

if score == 500:
    enemies = 6
    velocity = 2

您可能应该有一种increase_difficulty()方法来修改您的跟踪列表并增加velocity价值。你也应该使用>=而不是==我上面提到的。那么你的游戏循环代码将是:

if score >= 500:
    increase_difficulty()
于 2012-04-27T22:54:30.070 回答