-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

それ以外の:

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

おそらくincrease_difficulty()、追跡リストを変更してvelocity値を増やすメソッドが必要です。また、上記>=の代わりに使用する必要があります。==その場合、ゲーム ループ コードは次のようになります。

if score >= 500:
    increase_difficulty()
于 2012-04-27T22:54:30.070 に答える
1

問題は、コードが最初に 3 つの要素を持つリストから始まり、リストを拡張せずに敵の数を 6 に増やしていることです。これにより、リストの最後を超えて更新しようとするため、更新ループがリストの最後から実行されます。敵を増やすときは、リストに新しい値を追加して、さらに 3 エントリ分拡張する必要があります。既存のリストを拡張するには、 を使用しますname_of_your_list.append(new_value)

于 2012-04-27T22:48:59.613 に答える