Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Runex en 11 Abril 2012, 02:00 am



Título: [Python] [Juego] Sumas rápidas
Publicado por: Runex en 11 Abril 2012, 02:00 am
Bueno un compañero ha posteado en la sección de wargames un pequeño juego para realizar sumas,y al verlo me entraron ganas de hacerlo con GUI. Y nada aquí está el resultado, espero que os guste :)

Código
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. from Tkinter import *
  4. import random
  5.  
  6. class sumasrapidas:
  7.  
  8. def __init__(self,root,vidas):
  9. self.num1 = IntVar()
  10. self.vidas = vidas
  11. self.numerox1 = random.randint(0,50)
  12. self.numerox2 = random.randint(0,50)
  13. self.root = root
  14. self.root.configure(background="black")
  15. self.root.title("Juego")
  16. self.root.maxsize("190","145")
  17. self.root.minsize("190","145")
  18. Label(self.root,text="Sumas Rapidas",bg="black",fg="green").grid(row=0,column=3)
  19. self.numero1 = Entry(self.root,textvariable=self.num1)
  20. self.aceptar = Button(self.root,text="Aceptar",command=self.suma,fg="green",bg="black")
  21. self.numero1.grid(row=1,column=3)
  22. self.aceptar.grid(row=2,column=3)
  23. Label(self.root,text=str(self.numerox1) + "+" + str(self.numerox2),bg="black",fg="green").grid(row=3,column=3)
  24.  
  25. def suma(self):
  26. if int(self.numero1.get()) == self.numerox1 + self.numerox2:
  27. Label(self.root,text="Correcto",bg="black",fg="green").grid(row=4,column=3)
  28. Label(self.root,text="Tienes " + str(self.vidas) + " vidas",bg="black",fg="green").grid(row=5,column=3)
  29. else:
  30. Label(self.root,text="Incorrecto",bg="black",fg="green").grid(row=4,column=3)
  31. self.vidas -= 1
  32. Label(self.root,text="Tienes " + str(self.vidas) + " vidas",bg="black",fg="green").grid(row=5,column=3)
  33. if self.vidas==0:
  34. Label(self.root,text="Game Over",bg="black",fg="green").grid(row=6,column=3)
  35. exit(0)
  36. self.numerox1 = random.randint(0,50)
  37. self.numerox2 = random.randint(0,50)
  38. Label(self.root,text=str(self.numerox1) + "+" + str(self.numerox2),bg="black",fg="green").grid(row=3,column=3)
  39. if __name__ == "__main__":
  40. root = Tk()
  41. vidas = 3
  42. instancia = sumasrapidas(root,vidas)
  43. root.mainloop()
  44.  

Hay algunos fallitos pero bueno, nada importante.
Cuando acabe los exámenes añadiré más niveles y mejoraré la interfaz :).

Un saludo  ;-)