Баг с спавном и поведением врагов

Решил я сделать игру в жанре shot`em up. Прописывал спавн врагов и их поведение.

Столкнулся с не приятным багом.

Суть бага в том, что первый враг пролетает как надо, но после него остальные враги начинают двигаться с большой скоростью и спавнятся также быстро.

P.S.(Это tkinter а, точнее python 3)

from tkinter import *
import time
import random
tk = Tk()
c = Canvas(tk, width=500, height=840, bg='white', )
c.pack()
t = 0

click = 0


vpos1 = [382.5, 432.5]
vpos2 = [330, 380,]
vpos3 = [246.5, 296,5]
vpos4 = [200, 250]
vpos5 = [225.5, 275.5]
vpos6 = [120,170]
vpos7 = [67.5, 117.5]



posv = [vpos7,vpos6,vpos5,vpos4,vpos3,vpos2,vpos1]



kor1 = PhotoImage(file='unnamed.png')
kor = c.create_image(165, 700, anchor=NW, image=kor1)




c.create_line(499, 0, 499, 1049,width=3)
c.create_line(1, 0, 1, 1049,width=5)
c.create_line(1, 840, 499, 840,width=3)

def ogon(event):
global click

    xko = c.coords(kor)[0]
    xog = xko + 79
    xoga = xko + 91
    if click != 300:
        boom=c.create_oval(xog,700,xoga,712,  fill='grey',outline='black',tag='boom')
        bomcord = c.coords(boom)
        print('Coords boom =', bomcord)
        for i in range(1,200):
            c.move('boom',0,-5)
            tk.update()
            time.sleep(0.012)
        c.itemconfig('boom', fill='red')
        c.delete('boom')
    else:
        pass


def rightmove(event):
    global click
    xrkc = c.coords(kor)[0]
    xrkc = xrkc + 170
    if event.keysym == 'd' and click < 1 and xrkc < 492.5:
        click += 1
        for i in range(1,22):
            time.sleep(0.004)
            c.move(kor, 2.5, 0)
            c.update()
        click -= 1
      ##print('clikc =',click)



def leftmove(event):
    global click
    xl = c.coords(kor)[0]
    if event.keysym == 'a' and click < 1 and xl > 7.5:
        print('Left - ', xl)
        click += 1
        for i in range(1,22):
            time.sleep(0.004)
            c.move(kor, -2.5, 0)
            c.update()
        click -= 1
##          print('clikc =',click)          


c.bind_all('a',leftmove)
c.bind_all('d',rightmove)
c.bind('<Button-1>',ogon)

def ani_vrag():
    global t
    global vrag
    tk.after(2000,spawn_vrag)
    if t <= 90:
        c.move('vrag',0,7)
        tk.update()
        t += 1
        tk.after(12,ani_vrag)
    else:
        t -= 90
        c.delete('vrag')


def spawn_vrag():
    global posv
    random.shuffle(posv)
    x = posv[0]
    x1 = x[0]
    x2 = x[1]
    vrag = c.create_rectangle(x1,1,x2,50,fill='red',outline='black',tag='vrag')
    ani_vrag()

spawn_vrag()


tk.mainloop() 

Ответы (0 шт):