Autor Tema: Ayuda con Juego  (Leído 1709 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado gersa2311

  • PIC10
  • *
  • Mensajes: 3
Ayuda con Juego
« en: 15 de Octubre de 2016, 15:04:30 »
Hola! buen día, necesito ayuda para poder hacer un juego igual al que dejare en el enlace en CCS, es un juego de saltar los objetivos, con su respectivo conteo de puntaje.

Enlace del juego presione http://miarduinounotieneunblog.blogspot.com/2016/02/juego-runner-scape-con-display-lcd-1602.html



Mis problemas son:

-Generar los cuadros "aleatorio" de la parte inferior
-Como detectar un choque del la figura.


Uso CCS y no comprendo como realizar esas acciones, por eso les pido mas menos una idea de como implementarlo, de antemano gracias.


Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Ayuda con Juego
« Respuesta #1 en: 15 de Octubre de 2016, 16:16:02 »
Tenes todo.. tenes el codigo... No se cual es el problema.

Deberias cambiar:

- Lo del setup(), para inciializar el LCD e iniciarlizar los pines correctamente, creo que lo mejor seria usar FAST_IO

En loop():
- Reemplazar los lcd.begin por lcd_gotoxy , los lcd.printf por lcd_putc("tdasa")
- Los delay(xx) por delay_ms(xx)
- Los random(xx) por rand() % xx ( requiere incluir stdlib.h si no me equivoco)

Al comienzo:
- Cambir el lcd.createChar por comandos para cargar datos a la CGRAM, aca te dejo un link que encontre mirando por internet
http://electgpl.blogspot.com.ar/2013/06/lcd-creacion-de-simbolos-en-cgram.html

Finalmente si no queres cambiar demasiado el codigo fuente (ya que se podria copiar y pegar) agregas una funcion main que haga esto:

Código: C
  1. void main(void)
  2. {
  3.       setup();
  4.       while(1)
  5.       {
  6.             loop();
  7.       }
  8. }

El tema de la colision esta en C, por lo cual podrias tranquilamente copiarlo.

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Ayuda con Juego
« Respuesta #2 en: 15 de Octubre de 2016, 16:30:23 »
.

Dudo mucho que un microcontrolador pueda generar realmente números aleatorios, a menos que la semilla sea distinta cada vez que arranque.

Si puedes leer algo que sea distinto cada vez, como el RTC si lo mantienes con una pila, o un sensor de temperatura o de luz, podías tener números aleatorios que sean de verdad aleatorios. De lo contrario cada vez que arranques la secuencia de números será siempre la misma, aunque para esta aplicación seguramente te vale.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re:Ayuda con Juego
« Respuesta #3 en: 16 de Octubre de 2016, 02:44:38 »
Otra opción interesante y muy sencilla para generar una semilla aleatoria es considerar una lectura analógica de un pin que esté al aire, o conectado a una pista vacía que haga de antena.

Desconectado gersa2311

  • PIC10
  • *
  • Mensajes: 3
Re:Ayuda con Juego
« Respuesta #4 en: 17 de Octubre de 2016, 11:26:25 »
Enserio esto se puede copiar y pegar en CCS ? Gracias lo intentare modificando lo que mencionas

Tenes todo.. tenes el codigo... No se cual es el problema.

Deberias cambiar:

- Lo del setup(), para inciializar el LCD e iniciarlizar los pines correctamente, creo que lo mejor seria usar FAST_IO

En loop():
- Reemplazar los lcd.begin por lcd_gotoxy , los lcd.printf por lcd_putc("tdasa")
- Los delay(xx) por delay_ms(xx)
- Los random(xx) por rand() % xx ( requiere incluir stdlib.h si no me equivoco)

Al comienzo:
- Cambir el lcd.createChar por comandos para cargar datos a la CGRAM, aca te dejo un link que encontre mirando por internet
http://electgpl.blogspot.com.ar/2013/06/lcd-creacion-de-simbolos-en-cgram.html

Finalmente si no queres cambiar demasiado el codigo fuente (ya que se podria copiar y pegar) agregas una funcion main que haga esto:

Código: C
  1. void main(void)
  2. {
  3.       setup();
  4.       while(1)
  5.       {
  6.             loop();
  7.       }
  8. }

El tema de la colision esta en C, por lo cual podrias tranquilamente copiarlo.

Desconectado gersa2311

  • PIC10
  • *
  • Mensajes: 3
Re:Ayuda con Juego
« Respuesta #5 en: 17 de Octubre de 2016, 11:29:41 »
Gracias por sus respuestas,  voy hacer lo que comentan.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Ayuda con Juego
« Respuesta #6 en: 17 de Octubre de 2016, 15:10:02 »
Enserio esto se puede copiar y pegar en CCS ? Gracias lo intentare modificando lo que mencionas

Esta todo en C, Lo unico que tenes distintos son algunas funciones, como ya nombre que son las del lcd, random, el delay y tal ves algun pin. Lo demas es valido para cualquier C.

Lo que usa arduino, en realidad de una manera "oculta" es el codigo que te pase.
Entonces el usuario en ves de generar una funcion main, donde al comienzo pone el setup y ademas luego debe poner el while, En Arduino en ves de crear la funcion main ( que ya esta creada) tenes que crear las funciones setup y loop, en ese main oculto simplemente hace como te pase el programa es decir 2 llamadas simples.