Foro de elhacker.net

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
  1. from tkinter import *
  2. tk= Tk()
  3.  
  4. tk.title("Juego RPG")
  5. c= Canvas(tk, width=400, height=400)
  6. tk.geometry(newGeometry="400x400")
  7. fondo = PhotoImage(file='fondo.gif')
  8. c.create_image(0,0,anchor=NW, image=fondo)
  9. posx=120
  10. posy=120
  11. c.place(x=0,y=0)
  12. arriba = PhotoImage(file='arriba.gif')
  13. abajo = PhotoImage(file='abajo.gif')
  14. img_arr= c.create_image(posx,posy,image=arriba)
  15. cuantas= 0
  16.  
  17. def moverPersonaje(event):
  18.    global posx
  19.    global posy
  20.    global img_arr
  21.    global img_aba
  22.    global cuantas
  23.    if event.keysym == 'Up':
  24.        posx=posx
  25.        posy-=5
  26.        if cuantas !=0:
  27.            c.delete(img_aba)
  28.        c.delete(img_arr)
  29.        img_arr= c.create_image(posx,posy,image=arriba)
  30.  
  31.    elif event.keysym == 'Down':
  32.        posx = posx
  33.        posy += 5
  34.        if cuantas == 0:
  35.            c.delete(img_arr)
  36.            img_aba=c.create_image(posx,posy,image=abajo)
  37.            cuantas+=1
  38.        else:
  39.            c.delete(img_arr)
  40.            c.delete(img_aba)
  41.            img_aba=c.create_image(posx,posy,image=abajo)
  42.  
  43.    c.update()
  44.  
  45. c.bind_all('<Up>',moverPersonaje)
  46. c.bind_all('<Down>',moverPersonaje)
  47. c.bind_all('<Left>',moverPersonaje)
  48. c.bind_all('<Right>',moverPersonaje)
  49. tk.mainloop()
  50.  


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
  1.  elif event.keysym == 'Down':
  2.        posx = posx
  3.        posy += 5
  4.        if cuantas == 0:
  5.            c.delete(img_arr)
  6.            img_aba=c.create_image(posx,posy,image=abajo)
  7.            cuantas+=1
  8.  

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.