jueves, 3 de noviembre de 2011

Proyecto 1: Culebrilla

Empecemos con nuestro primero proyecto, y empecemos de una forma simple: haremos nuestra propia versión del conocido juego "snake". Uno de los juegos más jugados de toda la historia por cierto, ya que venía de serie en muchos terminales Nokia.

El objetivo del juego es controlar a la culebra para comer la comida que va apareciendo por la pantalla y aguantar el máximo posible de tiempo con ella viva. Cada vez que come esta comida (su cabeza colisiona con este elemento) se le añade una "bola" más a su cuerpo. Es decir, cuanto más come mas crece su cola. Si la cabeza colisiona con una esquina la culebra muere, de la misma forma que si colisiona con alguna parte de su cuerpo también muere.

La vista del juego es cenital, es decir, el observador está mirando el juego desde arriba hacia abajo. La culebra puede moverse arriba, abajo, izquierda o derecha. Nunca se para, siempre va para adelante. El cuerpo de la culebra es articulado, como una serie de bolas atadas entre sí con una cuerda.

Nuestra versión, llamada "Culebrilla", tendrá las siguientes características generales:
  • Resolución de 800x600
  • Control por el teclado
  • Sólo tendrá un modo de juego, tipo "survival" (aguantar todo lo posible)
  • Una única pantalla con 2 estados: esperando a que el usuario pulse la tecla espaciadora (mostrando un mensaje para ello, además del record del tiempo máximo) y jugando
Aquí un montaje muy simple de cómo se verá el juego en mitad de la partida:


Como veis en este blog no vamos a ver unos gráficos de última generación, quizás ni siquiera bonitos. De hecho el marcador no está ni centrado, pero para mostrar el concepto esto es más que suficiente.

Bien, tenemos ese fondo gris, que es donde se moverá nuestra culebrilla. Rodeando el fondo gris tenemos unas casillas más o menos marrones. Estas casillas representan los límites del área por donde puede moverse la culebrilla. Si su cabeza choca contra ellas hemos perdido el juego.

Nuestra culebrilla está formada por la cabeza y luego un número de bolas que representan su cuerpo. La bola roja es la comida, que irá apareciendo en lugares aleatorios a lo largo de la partida. Por último, arriba del todo tenemos los segundos que lleva el jugador jugando sin morir y a su derecha el tiempo máximo que alguien (desde que se ejecutó el juego) ha aguantado vivo.

En la siguiente entrada vamos a ver cómo diseñamos nuestro código para que podamos implementar el juego.

¡Hasta pronto!

1 comentario: