简单的水平系统

时间:2012-04-27 22:41:30

标签: python pygame

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

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

谢谢

2 个答案:

答案 0 :(得分:1)

问题是你的代码最初是从那些包含3个元素的列表开始的,然后你将你的敌人数量增加到6而不扩展列表。这会导致更新循环在列表末尾运行时尝试更新超出列表末尾。当您增加敌人时,您还需要在列表中添加新值以将其扩展3个以上。要扩展现有列表,请使用name_of_your_list.append(new_value)

答案 1 :(得分:1)

而不是:

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

您可能应该使用increase_difficulty()方法修改跟踪列表并增加velocity值。如上所述,您还应该使用>=而不是==。然后你的游戏循环代码将是:

if score >= 500:
    increase_difficulty()