我是一名初学者程序员,我的第一语言是 Python 2.7,我正在尝试制作一个太空入侵者类型的游戏,但我想一次拥有多个子弹,但无法找到一种方法来做到这一点。所以我在这里做了我自己的方式是我的代码在你看到它之后会解释更多
if event.type ==pygame.KEYDOWN and event.key==K_SPACE:
if m < 5:
m+=1
if m==1:
m1a=1
m1x=ls
if m==2:
m2a=1
m2x=ls
if m==3:
m3a=1
m3x=ls
if m==4:
m4a=1
m4x=ls
if m==5:
m5a=1
m5x=ls
print m
#missle 1
if m1a==1:
screen.blit(rship,(m1x,m1))
if m1>=0:
m1-=1
else:
m-=1
m1a=0
m1=460
#missle 2
if m2a==1:
screen.blit(rship,(m2x,m2))
if m2>=0:
m2-=1
else:
m-=1
m2a=0
m2=460
#missle 3
if m3a==1:
screen.blit(rship,(m3x,m3))
if m3>=0:
m3-=1
else:
m-=1
m3a=0
m3=460
#missle 4
if m4a==1:
screen.blit(rship,(m4x,m4))
if m4>=0:
m4-=1
else:
m-=1
m4a=0
m4=460
#missle 5
if m5a==1:
screen.blit(rship,(m5x,m5))
if m5>=0:
m5-=1
else:
m-=1
m5a=0
m5=460
我敢肯定它很可笑,但我只是在学习,但问题是第一枚和第二枚导弹都很好,第三枚和之后的导弹就搞砸了。当你发射第三个时,它会将第二个移动到你拍摄的位置,然后如果你再次发射,代码不会回到 1,它会保持在 2,并且会出现更多故障。如果您需要我尝试更好地解释它,我很乐意。只是想学习。
完整代码在这里:pastebin.com/FnPaME6N