私はPythonで書かれた小さなゲームを持っているので、前の質問を見れば "空間侵略者"のクローンです。random "ValueError:list.remove(x):xはリストにありません" pygameのエラー
今のところ、ほぼすべてがスムーズに実行されているため、しばらくの間ランダムなエラーが発生します。これは完全にランダムであり、いくつかの弾丸が発射された後に発生する可能性があり、まったく発生しない可能性があります。
私はこのコードを持っている:
for bullet in bullets:
bullet.attack()
if bullet.posy<=-20:
bullet_draw=False
if bullet_draw==True:
bullet.draw()
for enemy in enemies:
if bullet.sprite.rect.colliderect(enemy.sprite.rect):
enemy.health-=1
bullets.remove(bullet)
bullet_draw=False
else:
bullet_draw=True
は、時にはそれは私に、次のエラーが発生します。
Traceback (most recent call last):
File "\Programming\space invaders\space.py", line 280, in <module>
bullets.remove(bullet)
ValueError: list.remove(x): x not in list
このエラーは完全にランダムです。たとえそうでなくても私はその起源を辿ることはできません。どのようにそれを排除するための任意の助け?
一般的に、エラーをキャッチして、死後デバッガ( 'import pdb; pdb.post_mortem()')を使用するのが良い方法です。開発中に私は通常、私のプログラムのエントリーポイントの周りにcatch-all try-except句を持っています。そうすれば、すぐに予期せぬ問題もデバッグすることができます。 –