Aun no he creado la funcion para que el usuario inserte los numeros memorizados, el problema lo tengo al mostrar los numeros a recordar.
Tengo 2 problemas:
1. No se muestran todos los numeros de la array, tan solo el ultimo cada vez que se le añade, lo unico que se me ocurre es que al ser tan rapido tan solo se vea esta ultima y no las demas, probad de borrar el Screen.blit(background) y lo entendereis.
2. Si pongo el time.delay a un numero bajo me va demasiado rapido, pero si le pongo un numero alto consigo la velocidad deseada pero hace que se bloquee y cueste de cerrar.
http://www.megaupload.com/?d=2MKHY4D0
- Código: Seleccionar todo
#Supercerebro.py 1.0
#by Nathaniel
#Licencia GPL
#Importamos los modulos necesarios
import pygame
from pygame.locals import *
from random import randint
pygame.init()
pygame.mixer.init()
pygame.mouse.set_visible(False)
#Definimos la ventana
Anchura, Altura = 687,461
Screen = pygame.display.set_mode((Anchura,Altura))
pygame.display.set_caption("Supercerebro by Nathaniel")
#Cargamos la imagen de fondo
image_background = pygame.image.load("Supercerebro_Background.jpg")
#Funcion para cargar la fuente
def Fuente():
Font = pygame.font.Font("dejavu.ttf",80)
return Font
class Numeros:
def __init__(self):
self.Numeross = []
def Mostrar_Numeros(self,Posicion_array): #Funcion para mostrar los numeros a memorizar en una de las cuatro pantallas
Screen.blit(image_background,(0,0))
random = randint(0,3)
Screen.blit(Font.render(str(self.Numeross[Posicion_array]),True,(255,000,000)),(Posiciones[random]))
def Nuevo_Numero(self): #Funcion para sumar un nuevo numero aleatorio entre el 0 y el 9.
self.Numeross.append(randint(0,9))
for x in range(0,len(self.Numeross)):
self.Mostrar_Numeros(x)
#Aqui funcion para que el usuario responda
def Incorrecto(self):
print "Incorrecto"
exit()
Numeros= Numeros()
Font = Fuente()
Posiciones = [
(142,56),
(85,200),
(551,37),
(577,222)
]
Running = True
while Running:
for event in pygame.event.get():
if event.type == QUIT:
Running = False
Numeros.Nuevo_Numero()
pygame.display.update()
pygame.time.wait(100)