PDF de programación - Programación J2ME - Construcción del juego de la serpiente

Imágen de pdf Programación J2ME - Construcción del juego de la serpiente

Programación J2ME - Construcción del juego de la serpientegráfica de visualizaciones

Publicado el 14 de Enero del 2017
847 visualizaciones desde el 14 de Enero del 2017
319,0 KB
15 paginas
Creado hace 17a (28/09/2006)
Programaci ón J2ME

Construcción del juego de la
serpiente

Septiembre de 2006

Curso de Formación Continua de Programación de

dispositivos móviles con Java (4a edición)

Septiembre de 2006

Índice

1.

Introducci ón

2. Ejecuci ón del programa con ktoolbar

3. Ejecuci ón de la versi ón AWT del programa

4. Construcci ón de las clases básicas del programa

4.1. Clase Punto . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2. Clase Rejilla . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3. Clase Raton . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4. Clase Ratones . . . . . . . . . . . . . . . . . . . . . . . . .
4.5. Clase Serpiente . . . . . . . . . . . . . . . . . . . . . . . .
4.6. Clase Mueve . . . . . . . . . . . . . . . . . . . . . . . . . .

5. Construcci ón del interfaz gráfico MIDP

5

5

6

7
8
9
10
11
11
13

15

Programación de dispositivos móviles con Java Construcción del juego de la serpiente
5

Figura 1: Ejecución del programa con ktoolbar

1.

Introducci ón

El objetivo de este ejercicio es construir un sencillo juego conocido
como juego de la serpiente (snake en inglés). El aspecto del juego al
ejecutarlo en el emulador de ktoolbar sería el de la figura 2.

Este juego consiste en controlar el movimiento de la serpiente median-
te las flechas de dirección del teclado del dispositivo móvil, intentando co-
mer los ratones que se mueven de forma aleatoria. Cada vez que se come
un ratón aumenta la longitud de la serpiente y obtenemos un punto más.
El ratón aparece entonces nuevamente en una posición aleatoria de la
pantalla. La serpiente muere cuando choca contra sí misma o contra una
de las paredes.

2. Ejecuci ón del programa con ktoolbar

Podéis comprobar vosotros mismos el funcionamiento de este progra-

ma mediante ktoolbar tomando el fichero ../serpienteMiddletTuring.
tar.gz y descompriéndolo en el directorio $HOME/WTK2.2/apps. En li-

5

Programación de dispositivos móviles con Java Construcción del juego de la serpiente
6

nux, para descompimir el fichero ../serpienteMiddletTuring.tar.
gz en $HOME/WTK2.2/apps, cópialo primero a algún directorio de tu
cuenta, por ejemplo al mismo directorio $HOME/WTK2.2/apps, cámbia-
te al directorio $HOME/WTK2.2/apps y ejecuta el comando:

tar zxvf serpienteMiddlet.tar.gz

Esto hará que se cree el directorio Serpiente dentro de apps. Eje-
cuta ahora ktoolbar y abre el proyecto Serpiente. Ejecuta el proyecto se-
leccionando el botón Run. El emulador que aparece tiene el aspecto del
de la figura 2.

Si miramos la estructura de directorios generada al descomprimir

serpienteMiddletTuring.tar.gz podemos ver que bajo el subdi-
rectorio src no se encuentran los ficheros .java del código fuente. La
razón es que esto es precisamente lo que se os pide a vosotros que
hagáis, el código fuente de esta aplicación.

3. Ejecuci ón de la versi ón AWT del programa

El interfaz gráfico de esta aplicación necesita de las clases de MIDP
que se estudiarán en este curso más adelante (http://leo.ugr.es/
J2ME/MIDP/index2.htm). Por ahora, comenzaremos a construir las
clases que no necesitan de las clases de MIDP.

Para que podáis ir comprobando que las clases las estáis construyen-
do correctamente, se proporciona la versión AWT de este mismo progra-
ma, en el fichero comprimido ../serpienteAWT.tar.gz. AWT es un
conjunto de clases que permiten construir el interfaz gráfico de un pro-
grama java para ejecutarlo en un ordenador normal (no en un dispositivo
móvil) con jdk. En las aulas de ordenadores como se ya se habrá comen-
tado, está instalada la versión 1.5 del jdk en el directorio /usr/local/jdk1.5.0_06
Los ejecutables (java y javac) necesarios para ejecutar y compilar pro-
gramas jdk ya deben estar añadidos a vuestro path, por lo que no habría
que hacer nada especial para poder usarlos.

En este caso, el fichero ../serpienteAWT.tar.gz sí que contiene
el código fuente de algunas clases, pero no de todas. Contiene el código
fuente de las clases correspondientes al interfaz gráfico para AWT, con-
cretamente de las clases MiFrame.java (que representa la ventana donde
aparece la aplicación), MiCanvas.java (el panel contenido en la anterior
ventana, donde se dibuja el tablero de juego) y Main.java (que básica-
mente contiene la función main() que es por donde comienzan a ejecu-
tarse los programas jdk). Para el resto de clases sólo se proporciona el
fichero .class para que podáis ejecutar el programa, pero no se proporcio-
na el fichero .java, ya que según se ha diseñado el programa, la versión
J2ME y la versión para JDK de estos clases puede ser exactamente la
misma.

Descargad el fichero ../serpienteAWT.tar.gz y descomprimidlo
en algún lugar de vuestra cuenta. Por ejemplo podéis descargarlo en el
directorio SerpienteAWT, cambiaros a él y ejecutar el comando:

6

Programación de dispositivos móviles con Java Construcción del juego de la serpiente
7

Figura 2: Ejecución de la versión AWT del programa

tar zxvf serpienteAWT.tar.gz

Esto hará que se cree el directorio serpiente dentro de SerpienteAWT,
que contendrá los ficheros .java mencionados más arriba junto con todos
los ficheros .class de la aplicación. También contiene un subdirectorio ja-
vadocs1 que corresponde a la documentación estilo javadoc de las clases
de esta aplicación. Los anteriores ficheros también están disponibles ac-
cediendo a la dirección web:
http://leo.ugr.es/J2ME/APPS/Serpiente/SerpienteAWT.

Para ejecutar esta versión AWT del programa de la serpiente podéis
ejecutar el siguiente comando (suponiendo que estamos colocados en el
directorio padre del directorio serpiente).

java serpiente.Main

La documentación javadoc la podéis consultar con cualquier navega-
dor web, tal como el firefox, abriendo el fichero index.html que se encuen-
tra dentro del directorio serpiente/javadocs. Esta misma documen-
tación está también disponible en:
http://leo.ugr.es/J2ME/APPS/Serpiente/SerpienteAWT/javadocs

4. Construcci ón de las clases básicas del pro-

grama

La idea en esta sección es que vayamos construyendo los ficheros .ja-
va que nos faltan (Punto.java, Rejilla.java, Raton.java, Ratones.java, Ser-
piente.java y Mueve.java) en la versión AWT del programa de la serpiente

1Puedes aprender cómo documentar un programa Java con estilo javadoc en la di-

rección http://java.sun.com/j2se/javadoc/index.jsp

7

Programación de dispositivos móviles con Java Construcción del juego de la serpiente
8

que se ha comentado en la sección anterior. Cuando hagamos la versión
J2ME de este programa, podremos reutilizar estos ficheros sin tener que
modificar nada. En la versión J2ME podemos reutilizar todos los ficheros
.java del programa, excepto Main.java, MiCanvas.java y MiFrame.java. Pa-
ra la versión J2ME sólo nos faltará hacer el interfaz gráfico de la aplicación
usando las clases de MIDP.

El orden en el que se recomienda implementar las anteriores clases

es el siguiente:

1. Punto.java

2. Rejilla.java

3. Raton.java

4. Ratones.java

5. Serpiente.java

6. Mueve.java

Comenzaremos implementando por tanto la clase Punto.java. Para ello
consulta la documentación html de javadoc para esta clase disponible en:

http://leo.ugr.es/J2ME/APPS/Serpiente/SerpienteAWT/

javadocs

Esta documentación nos permite saber qué datos miembro, construc-

tores y métodos necesitamos incluir en cada clase.

4.1. Clase Punto

Dentro del directorio serpiente abre algún editor de texto (Por ejem-

plo kwrite) para construir la clase Punto.java:

kwrite Punto.java

Si miramos la documentación html de la clase Punto, podemos ver que
es una clase muy simple. Sólo hay que añadir dos datos miembro privados
(private) de tipo int y un constructor Punto(int coorx, int coory)
que se encarga de inicializar las coordenada x e y. Por tanto esta clase
podría quedar de la siguiente forma:

package serpiente;

/**

* Clase que representa unas coordenadas x e y enteras
*/

public class Punto{

int x,y;
Punto(int coorx, int coory){

x=coorx;
y=coory;

}

}

8

Programación de dispositivos móviles con Java Construcción del juego de la serpiente
9

Fíjate que hemos incluido la sentencia package serpiente; al prin-
cipio del fichero para indicar que la clase pertenece al paquete serpiente.
Esto lo haremos también con el resto de clases.

Compilemos ahora esta clase para ver si el programa AWT sigue fun-
cionando. Al hacerlo se sustituirá el fichero .class proporcionado con el
asociado a la clase Punto que acabamos de construir. Para compilar el fi-
chero nos colocamos en el directorio padre de serpiente y ejecutamos:

javac serpiente/Punto.java

Si todo ha ido bien tendremos un nuevo fichero Punto.class en el di-
rectorio serpiente. Vuelve a ejecutar el programa AWT para ver si sigue
funcionando bien:

java serpiente.Main

4.2. Clase Rejilla

Como indica la documentación html de javadoc para esta clase, re-
presenta una rejilla (matriz bidimensional) con una determinada Anchura
y Altura, en la que cada celda puede estar VACIA, contener un trozo de
SERPIENTE, un RATON, o un BLOQUE (muro). La matriz bidimensional
se almacena en el dato miembro:

private int[][] celdas;

En esta matriz el primer índice se usa para la anchura (para las coor-
denadas x) y el segundo índice para la altura (para las coordenadas y).
Otros datos miembro que contiene esta clase son la anchura y altura que
en mi caso están inicializadas con los valores 39 y 25, pero que tú podrías
inicializar con otros valores distintos:

private int anchura=39;
private int altura=25;

Además debemos incluir los siguientes datos static final:

static final int TIPO_MASCARA = 0x00FF0000; // Tipos de celda de la rejilla
static final int VACIA
static final int BLOQUE
static final int SERPIENTE
static final int RATON

= 0x00000000;
= 0x00010000;
= 0x00020000;
= 0x00030000;

Las constantes VACIA, BLOQUE, SERPIENTE y RATON son los dis-
tintos valores que pueden incluirse en cada una de
  • Links de descarga
http://lwp-l.com/pdf806

Comentarios de: Programación J2ME - Construcción del juego de la serpiente (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad