A.4. Juegos

4.1. Implementaremos un juego básico con WTK 2.0. El primer paso que vamos a realizar es mostrar un sprite que se mueva por la pantalla. Tenemos la imagen coche.png, que utilizaremos como sprite. Crearemos el ciclo del juego, en el que leeremos la entrada del usuario, según ésta moveremos el sprite por la pantalla (en las direcciones izquierda, derecha, arriba y abajo), y actualizaremos los gráficos.

4.2. Vamos a añadir un fondo a la escena. En la imagen fondo.png tenemos una serie de elementos con los que construir el fondo de la carretera. Podemos utilizar el fichero datos donde tenemos codificado un posible escenario. De este fichero podremos leer el índice del elemento que se debe mostrar en cada celda del fondo. Se encuentra codificado de la siguiente forma:

<ancho:int> <alto:int>
<celda_1_1:byte> <celda_1_2:byte> ... <celda_1_ancho>
<celda_2_1:byte> <celda_2_2:byte> ... <celda_2_ancho>
...
<celda_alto_1:byte> <celda_alto_2:byte> ... <celda_alto_ancho>

Podremos leer estos datos utilizando un DataInputStream, o bien crear nuestro propio mosaico para el fondo. Dibujaremos este fondo como capa en la pantalla, y en cada iteración lo iremos desplazando hacia abajo para causar el efecto de que el coche avanza por la carretera.

4.3. Como tarea avanzada podemos añadir otros coches a la carretera, y detectar colisiones con nuestro coche y los demás coches, o con nuestro coche y el fondo. De esta forma podremos chocar con los bordes de la carretera, teniendo que evitar salirnos de estos márgenes. Para comenzar, cuando choquemos podemos mostrar simplemente una alerta que nos avise de que hemos chocado y se vuelva a iniciar el juego.