我想做一个太空入侵者游戏,但我的敌人不会消失,如果他们被击中。有人知道怎么修吗
我已经尝试了for
循环(如您将看到的),但它不起作用:
import turtle as tr
wn = tr.Screen()
wn.tracer(0)
bullet = tr.Turtle()
player = tr.Turtle()
enimis = []
y = -250
def shoot():
player.direction = "up"
wn.onkey(shoot,"space")
while True:
if len(enimis) == 0:
for u in range(-210,210,60):
for o in range(100,260,60):
enimi = tr.Turtle()
enimi.setpos(u,o)
enimis.append(enimi)
if player.direction == "up":
bullet.penup()
x = player.xcor()
bullet.setpos(x,y)
bullet.pendown()
for p in range(550):
bullet.setpos(x,y+p)
for k in enimis:
if bullet.distance(k) < 25:
score += 10
if score > highscore:
highscored = True
else:
highscored = False
del k
hit = True
break
else:
hit = False
wn.update()
没有任何错误信息,敌人不会消失
我不明白为什么在代码因为这个错误根本无法运行的时候,你还要让死去的敌人消失:
你也不能打敌人,因为你的玩家和敌人都不能移动,玩家也没有指向敌人。太多的魔法思维而没有足够的代码
回答你的问题,这不起作用:
要么是:
或:
下面是我完全重写你的代码,让它基本上发挥:球员可以左右移动;子弹射击,击中敌人,得分,敌人消失;分数显示在屏幕上;等等
仍然需要:左右下移动敌人;使子弹射击和玩家/敌人移动同时发生;加回
highscore
;等等相关问题 更多 >
编程相关推荐