Por si a alguien que quiera aprender le interesa, aquí dejo yo el código de un programa similar en Python, ahora con tiempo lo haré mediante POO y le añadiré más niveles
Actualizado con puntuaciones por jugador y records en archivo de texto
Código (python) [Seleccionar]
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from Tkinter import *
import random,tkMessageBox
class logueo:
def __init__(self):
self.logueo = Tk()
self.logueo.title("Panel de Logueo")
self.logueo.config(bg="black")
self.nombre = StringVar()
self.logueo.maxsize("200","100")
self.logueo.minsize("200","100")
Label(self.logueo,text="Nombre",font=("Helvetica",15),bg="black",fg="green").pack()
self.log = Entry(self.logueo,textvariable=self.nombre)
self.log.pack()
self.aceptar = Button(self.logueo,text="Aceptar",command=self.enviar)
self.aceptar.pack()
self.logueo.mainloop()
def enviar(self):
self.root = Tk()
self.vidas = 3
self.puntuacion = 0
self.instancia = sumasrapidas(self.root,self.vidas,self.puntuacion,self.log.get())
self.logueo.destroy()
self.root.mainloop()
class sumasrapidas:
def __init__(self,root,vidas,puntuacion,nombre):
self.num1 = IntVar()
self.vidas = vidas
self.puntuacion = puntuacion
self.nombre = nombre
self.numerox1 = random.randint(0,50)
self.numerox2 = random.randint(0,50)
self.root = root
self.root.configure(background="black")
self.root.title("Juego")
self.root.maxsize("190","145")
self.root.minsize("190","145")
Label(self.root,text="Sumas Rapidas",bg="black",fg="green").grid(row=0,column=3)
self.numero1 = Entry(self.root,textvariable=self.num1)
self.aceptar = Button(self.root,text="Aceptar",command=self.suma,fg="green",bg="black")
self.numero1.grid(row=1,column=3)
self.aceptar.grid(row=2,column=3)
Label(self.root,text=str(self.numerox1) + "+" + str(self.numerox2),bg="black",fg="green").grid(row=3,column=3)
def suma(self):
if int(self.numero1.get()) == self.numerox1 + self.numerox2:
Label(self.root,text="Correcto",bg="black",fg="green").grid(row=4,column=3)
Label(self.root,text="Tienes " + str(self.vidas) + " vidas",bg="black",fg="green").grid(row=5,column=3)
self.puntuacion += 1
else:
Label(self.root,text="Incorrecto",bg="black",fg="green").grid(row=4,column=3)
self.vidas -= 1
Label(self.root,text="Tienes " + str(self.vidas) + " vidas",bg="black",fg="green").grid(row=5,column=3)
if self.vidas==0:
tkMessageBox.showinfo("Game Over","Puntuacion = "+str(self.puntuacion))
self.abrirarchivo = open("records.txt","a")
self.abrirarchivo.write("----Partida de: " + self.nombre+"----\n")
self.abrirarchivo.write("Puntuacion: " + str(self.puntuacion) + " sumas hechas\n")
self.abrirarchivo.close()
exit(0)
self.numerox1 = random.randint(0,50)
self.numerox2 = random.randint(0,50)
Label(self.root,text=str(self.numerox1) + "+" + str(self.numerox2),bg="black",fg="green").grid(row=3,column=3)
if __name__ == "__main__":
instancia = logueo()
instancia
Actualizado con puntuaciones por jugador y records en archivo de texto