Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: Mastodonte en 26 Septiembre 2017, 16:54 PM

Título: [PYTHON] ayuda con este codigo :-\
Publicado por: Mastodonte en 26 Septiembre 2017, 16:54 PM
Ayudenme a enterder por favor que hace la variable Cuantas en este codigo

Código (python) [Seleccionar]

from tkinter import *
tk= Tk()

tk.title("Juego RPG")
c= Canvas(tk, width=400, height=400)
tk.geometry(newGeometry="400x400")
fondo = PhotoImage(file='fondo.gif')
c.create_image(0,0,anchor=NW, image=fondo)
posx=120
posy=120
c.place(x=0,y=0)
arriba = PhotoImage(file='arriba.gif')
abajo = PhotoImage(file='abajo.gif')
img_arr= c.create_image(posx,posy,image=arriba)
cuantas= 0

def moverPersonaje(event):
   global posx
   global posy
   global img_arr
   global img_aba
   global cuantas
   if event.keysym == 'Up':
       posx=posx
       posy-=5
       if cuantas !=0:
           c.delete(img_aba)
       c.delete(img_arr)
       img_arr= c.create_image(posx,posy,image=arriba)

   elif event.keysym == 'Down':
       posx = posx
       posy += 5
       if cuantas == 0:
           c.delete(img_arr)
           img_aba=c.create_image(posx,posy,image=abajo)
           cuantas+=1
       else:
           c.delete(img_arr)
           c.delete(img_aba)
           img_aba=c.create_image(posx,posy,image=abajo)

   c.update()

c.bind_all('<Up>',moverPersonaje)
c.bind_all('<Down>',moverPersonaje)
c.bind_all('<Left>',moverPersonaje)
c.bind_all('<Right>',moverPersonaje)
tk.mainloop()
Título: Re: [PYTHON] ayuda con este codigo :-\
Publicado por: tincopasan en 26 Septiembre 2017, 18:18 PM
no es tan dificil, es una forma muy simple de saber si existe una instancia , si la instancia esta creada, cuantas es distinta de 0 por lo tanto en este caso se puede borrar la instancia, si la instancia no existe, pues se crea. Cuando tengas estas dudas simplementa comenta el código,ejecutalo y ve de que forma trabaja el script. Las varriables son justamente eso, un valor que puede cambiar o cambia de acuerdo a la elección de una u otra acción.
Título: Re: [PYTHON] ayuda con este codigo :-\
Publicado por: Mastodonte en 26 Septiembre 2017, 18:22 PM
Pero al ejecutar est codigo

Código (python) [Seleccionar]

  elif event.keysym == 'Down':
        posx = posx
        posy += 5
        if cuantas == 0:
            c.delete(img_arr)
            img_aba=c.create_image(posx,posy,image=abajo)
            cuantas+=1


ese if no se va a volver a ejecutar y cuando le de a abajo no va a pasar nada por que cuantas es igual a una y el if no se va ha cumplir
Título: Re: [PYTHON] ayuda con este codigo :-\
Publicado por: tincopasan en 26 Septiembre 2017, 20:10 PM
y no. solo se cumple en una condición. sino no se ejecuta nunca
ahhh y no hagas dobles post, ya preguntaste esto en otro lado.