from tkinter import *
import time
from tkinter import messagebox
class Animacion():
def __init__(self):
self.ventana = Tk()
self.canvas = Canvas(self.ventana,width=400,height=400)
self.ventana.geometry("400x400")
self.canvas.place(x=0,y=0)
self.boton = Button(self.ventana,command=self.iniciar,text="Iniciar")
self.boton.place(x=180,y=0)
self.pelota = self.canvas.create_oval(50,100,100,150,fill='blue')
self.jugador1 = self.canvas.create_rectangle(0,200,20,100,fill='red')
self.jugador2 = self.canvas.create_rectangle(380,200,400,100,fill='yellow')
self.ventana.bind("",self.key)
self.ventana.mainloop()
def iniciar(self):
self.boton.place(x=-50,y=-20)
self.animacion()
def key(self,event):
if event.keycode==65:
self.canvas.move(self.jugador1,0,4)
if event.keycode==81:
self.canvas.move(self.jugador1,0,-4)
if event.keycode==40:
self.canvas.move(self.jugador2,0,4)
if event.keycode==38:
self.canvas.move(self.jugador2,0,-4)
def animacion(self):
x=1
y=1
while True:
coordenadas=self.canvas.coords(self.pelota)
# x1,y1,x2,y2
x=self.colision(x)
if x==0:
messagebox.showinfo("Perdiste","Perdiste jugador rojo")
self.ventana.destroy()
obj = Animacion()
if x==2:
messagebox.showinfo("Perdiste","Perdiste jugador amarillo")
self.ventana.destroy()
obj = Animacion()
if coordenadas[3]>=400:
y=-1
if coordenadas[1]<=0:
y=1
time.sleep(0.005)
self.canvas.move(self.pelota,x,y)
self.canvas.update()
def colision(self,x):
coordenadasJ1 = self.canvas.coords(self.jugador1)
coordenadasJ2 = self.canvas.coords(self.jugador2)
coordenadasP = self.canvas.coords(self.pelota)
if (coordenadasJ1[0]<=coordenadasP[0] and coordenadasJ1[2]>=coordenadasP[0] and coordenadasJ1[1]<=coordenadasP[1] and coordenadasJ1[3]>=coordenadasP[1]) or (coordenadasJ1[0]<=coordenadasP[0] and coordenadasJ1[2]>=coordenadasP[0] and coordenadasJ1[1]<=coordenadasP[3] and coordenadasJ1[3]>=coordenadasP[3]):
x=1
elif (coordenadasJ2[0]<=coordenadasP[2] and coordenadasJ2[2]>=coordenadasP[2] and coordenadasJ2[1]<=coordenadasP[1] and coordenadasJ2[3]>=coordenadasP[1]) or (coordenadasJ2[0]<=coordenadasP[2] and coordenadasJ2[2]>=coordenadasP[2] and coordenadasJ2[1]<=coordenadasP[3] and coordenadasJ2[3]>=coordenadasP[3]):
x=-1
elif coordenadasP[0]<=10:
x=0
elif coordenadasP[2]>=390:
x=2
return x
obj = Animacion()
Comentarios
Publicar un comentario