HispaLUG

El foro LUGnático => Technic & Mindstorms => Mensaje iniciado por: jcaro en 06 de Julio de 2009, 13:13:46 PM

Título: SIMON
Publicado por: jcaro en 06 de Julio de 2009, 13:13:46 PM
Buenas, os traigo un pequeño proyecto que realice en ratitos libres durante la época de examenes. Quería sacarle partido a mis lamparas, asique decidí hacer un Simon, para mí un reto bastante gordo de programación, pero que funciona 8)  . El juego tiene 3 niveles de dificultad (secuencias de hasta 30).

https://www.youtube.com/watch?v=LRPv4hJ13-M

Aquí el código del programa (En RobotC):

https://www.megaupload.com/?d=BAO6BP75

un saludo!
Título: Re: SIMON
Publicado por: Patitoguay en 06 de Julio de 2009, 13:56:33 PM
Me gusta bastante (y mira que no se Mindstorms)

Esta muy bien hecho. Sigue asi  :guino:
Título: Re: SIMON
Publicado por: BRILEGOMAR en 06 de Julio de 2009, 14:22:43 PM
Esta muy bueno, y mas aun que lo hayas programado en Robot C.
Título: Re: SIMON
Publicado por: el señor del ladrillo en 06 de Julio de 2009, 15:26:45 PM
Yo no tengo ni pajolera idea de mindstorms. Pero este proyecto se sale de lo original que es :D. Desconocía que se podía hacer esto con lego...

Si consigues emular la NES en el NXT te convertirías en mi ídolo... ¿Qué ::)? No hay nada imposible.
Título: Re: SIMON
Publicado por: Jetro en 06 de Julio de 2009, 18:07:21 PM
Excelente. Y además con código. tendré que echar un vistazo a ver lo que se puede aprender.
Título: Re: SIMON
Publicado por: jig en 06 de Julio de 2009, 20:09:21 PM
Me ha encantado, muy bien  :D
La secuencia -al inicio- es aleatoria siempre o está prefijada?
Título: Re: SIMON
Publicado por: jcaro en 07 de Julio de 2009, 01:00:16 AM
Gracias por las respuestas, en realidad tiene más de programación que de LEGO en sí pero me pareció divertido hacerme un juego que se vende practicamente en todas las jugueterias...Lo de emular NES...quizas en otra vida XD

jig la secuencia en principio es aleatoria, RobotC tiene una función que te permite prefijar numeros aleatorios entre 0 y 99 creo recordar, en este caso van de 0 a 2 que se corresponden con las direcciones de los motores. Sin embargo está función al final me dió problemas (creo entender que en realidad no existen funciones aleatorias, se basan en ciclos de reloj, y esyo hacia que cada vez que encendiera el ladrillo se repitiera la misma secuencia) para subsanarlo y tras varios intentos lo que hice fue añadir un contador binario con lo que en principio se soluciono el problema. Me gustaría haber conseguido que el programa almacenara de alguna manera la puntuación más alta, pero de momento no sé como hacerlo.

saludos