Proyecto Final
-
Upload
alexandra-jara -
Category
Documents
-
view
217 -
download
1
description
Transcript of Proyecto Final
-
INTEGRANTES:
Alexandra Jara
Liliana Salazar
PROFESOR:
Ing. Esteban Cáceres
TEMA:
Desarrollo de un juego “Pacman”
MATERIA:
Mención I
FECHA:
Diciembre del 2014
INTRODUCCION
La plataforma J2ME es una herramienta de varias versiones, las cuales
pueden ser utilizadas para desarrollar programas para dispositivos
electrónicos como por ejemplo teléfono celulares, Pds, entre otros. J2me
es una herramienta que los estudiantes requieren para expandir sus
conocimientos.
Como también podemos decir que hoy en día los juegos son una manera
de entretenimiento para las personas como también la capacidad de
razonamiento, los juegos no son solamente una pérdida de tiempo si no
también una forma de desarrollar la capacidad de cada persona, a base de
esto desarrollamos un juego para reforzar conocimientos de las
herramientas que ofrece la programación, teniendo en cuenta cada una
de las funciones que nos ofrece esta aplicación para el desarrollo no
solamente de juegos si no también de aplicaciones de distintas formas.
Debemos tener en cuenta que para desarrollar este juego debemos
conocer las funcionalidades de lo más importante del código fuente que
colocamos para emprender un juego y dar a demostrar el funcionamiento
de nuestro proyecto.
Resumen
En el presente proyecto se pretende realizar una investigación enfocada
a la creación de un juegos “Pacman” con el propósito de que este juego
tenga una vida y llegue las expectativas esperadas, sea dinámico y sobre
todo entretenido para quien lo posee, realizado en netbeans para
móviles, realizando una investigación de todo lo que sea necesario para
que este juego sea exitoso. Donde se desarrollara todo lo investigado
dentro del marco teórico las diversas herramientas utilizadas para que nos
sirve para una de estas herramientas, cuando y que es J2ME Java
Plataforma, Micro Edition (Java ME) proporciona un entorno robusto y
flexible para aplicaciones que se ejecutan en los dispositivos móviles e
integrados: teléfonos móviles, CANVAS. Es una clase base para escribir
aplicaciones que necesitan para manejar eventos de bajo nivel y emitir
llamadas de gráficos para dibujar en la pantalla, SPRITES. Un Sprites es un
elemento visual básico que se puede representar con uno de varios
cuadros almacenados en una imagen; CLASES Definimos una clase, como
una colección o conjunto de objetos que comparten características
comunes entre sí.
JUSTIFICACION
Para el desarrollo de un juego se necita la plataforma de J2me, con la
finalidad de demostrar el funcionamiento de un juego en esta ocasión
realizaremos el juego de pacman. El propósito de mejorar los
conocimientos y saber más acerca de las funciones que nos brinda la
programación en netbeans, el desarrollo de juegos para dispositivos
móviles tiene un potencial de crecimiento para diferentes personas que
requieren diversión con una mejor comodidad.
OBJETIVOS
Objetivo General
Desarrollar un juego de pacman para dispositivos móviles utilizando
J2me.
Objetivos Específicos
Utilizar la plataforma J2me
Realizar el juego con canvas y sprites
Demostrar el funcionamiento del juego.
MARCO TEORICO
Objeto: entidad existente en la memoria del ordenador que tiene unas
propiedades (atributos o datos sobre sí mismo almacenados por el objeto)
y unas operaciones disponibles específicas (métodos).
Clase: abstracción que define un tipo de objeto especificando qué
propiedades (atributos) y operaciones disponibles va a tener.
Sprites: Los sprites son mapas de bits en 2D que se dibujan directamente
en un destino de representación sin usar la canalización de
transformaciones, iluminación o efectos. Se suelen usar para mostrar
información como las barras de estado, el número de vidas o texto como
las puntuaciones. Algunos juegos, sobre todo los más antiguos, están
compuestos en su totalidad de sprites.
J2ME: Es un subconjunto de la plataforma de desarrollo estándar de Java
que ha sido creada específicamente para el desarrollo de aplicaciones que
funcionen en dispositivos móviles.
Canvas: la clase Canvas es usada para crear las interfaces de bajo nivel.
Esta clase contiene los mecanismos necesarios para usar la pantalla del
celular como una zona de dibujo, se puede dibujar cualquier cosa en la
pantalla, esta clase es usada por los desarrolladores de juegos para
celulares porque permite tener control total sobre lo que se dibuja en la
pantalla del celular
Métodos: un método en Java es un conjunto de instrucciones definidas
dentro de una clase, que realizan una determinada tarea y a las que
podemos invocar mediante un nombre.
Estructura de un método: los métodos en java pueden tener parámetros,
es decir, que un método puede utilizar variables predefinidas para ser
utilizadas en sus procesos.
CDC: esta configuración está diseñada para dispositivos con ciertas
capacidades computacionales y de memoria soportando un entorno más
completo para la Máquina Virtual Java con características, con
limitaciones en el ambiente gráfico y memoria del dispositivo. La Máquina
Virtual adaptada a esta configuración es la CVM. Esta configuración se
enfoca en dispositivos con las siguientes características:
Memoria volátil de al menos 2 Mb o más, incluyendo RAM Y ROM.
Procesador de 32 bits. Conexión a algún tipo de red. Manejo de la
funcionalidad completa de la Máquina Virtual de Java 2.
CLDC: un subconjunto del lenguaje Java y todas las restricciones de su
Máquina Virtual (KVM). Entre los dispositivos que soportan esta
configuración se encuentran los teléfonos celulares, Asistentes Digitales
Personales (PDAs), organizadores, decodificadores de televisión digital, y
terminales de venta.
CVM: (Compact Virtual Machine) máquina Virtual para la configuración
CDC. Orientado a dispositivos electrónicos con procesadores de 32 bits de
gama alta y alrededor de 2 Mb ó más de memoria RAM, con conexiones
de red de forma intermitente o permanente a través de TCP/IP.
DESARROLLO
1. Lo primero a lo que procedemos a realizar es crear un nuevo
proyecto utilizando la herramienta java me y luego escogeos la
opción de Mobile application, después de esto colocamos el
nombre a nuestro proyecto en esta ocasión colocamos el nombre
del juego de pacman, a continuación procedemos a escoger el
dispositivo móvil con el cual vamos a trabajar.
2. Al realizar procedemos a colocar el código fuente que fue utilizado
para la creación del juego.
Este el código que se utilizó para la creación de dar un nombre al
jugador
private void newGame() {
Display dis = Display.getDisplay(this); Form form = new Form("Nuevo Jugador"); form.append("Ingrese un nombre del jugador:"); jugadorNombre = new TextField("Nombre", "", 32, TextField.ANY); form.append(jugadorNombre); cmdEmpezarJuego = new Command("Empezar Juego", Command.OK, form.addCommand(cmdEmpezarJuego); form.setCommandListener(this); dis.setCurrent(form); } private void Empezar() { myGameCanvas = new MyGameCanvas(this); display.setCurrent(myGameCanvas); myGameCanvas.start(); }
private void displayScores() { ScoresManager scoresManager = new ScoresManager();
Vector scoresVector = scoresManager.getScores(); dispScores.deleteAll(); Enumeration scoresEnum = scoresVector.elements(); while (scoresEnum.hasMoreElements()) { dispScores.append(new String((byte[]) scoresEnum.nextElement()), null); } display.setCurrent(dispScores); } public void onCanvasPaused() { // Poner "Continuar" en el menu dispMenu.append("Continuar", null); display.setCurrent(dispMenu);} public void resume() { // Quitar "Continuar" del menu. dispMenu.delete(2); // Volver al juego myGameCanvas.resume(); display.setCurrent(myGameCanvas); }}
En el siguiente código fue enfocado para las cuántas vidas tiene el
juego, como también para la puntuación que nos da al momento de
terminar el juego.
public class PlayerInfo { private String name; private int lives; private int score; private Date date; private Sprite sprite; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getLives() { return lives; }
public int getScore() { return score; } public Date getDate() { return date; } public PlayerInfo(String name) { this.name = name; this.lives = 3; this.score = 0; } public PlayerInfo(byte[] fromRMS) { String s = new String(fromRMS); this.name = s.substring(0, s.indexOf(": ")); this.score = Integer.parseInt(s.substring(s.indexOf(": ") + 2, s.indexOf(" punts"))); this.lives = 0; } public void addScore(int score) { this.score = this.score + score; } public void RemoveLife() { this.lives--;
if (lives == 0) { date = new Date(); //now } } public String getString() { return this.name + ": " + this.score + " pts"; } public void actualizarSprite(int posX, int posY) { Image img = Image.createImage(180, 10); Graphics g = img.getGraphics(); Font font = Font.getFont(Font.FACE_PROPORTIONAL, Font.STYLE_PLAIN, Font.SIZE_SMALL); g.setFont(font); g.drawString("Vidas " + lives + " Puntuacion " + score, 45, 0, Graphics.TOP | Graphics.HCENTER); sprite.setImage(img, img.getWidth(), img.getHeight()); sprite.setPosition(posX, posY); } public Sprite getAsSprite(int posX, int posY) { Image img = Image.createImage(180, 10);
Graphics g = img.getGraphics(); Font font = Font.getFont(Font.FACE_PROPORTIONAL, Font.STYLE_PLAIN, Font.SIZE_SMALL); g.setFont(font); g.drawString("Vidas " + lives + " Puntuacion " + score, 45, 0, Graphics.TOP | Graphics.HCENTER); sprite = new Sprite(img); sprite.setPosition(posX, posY); return sprite; }}
en cambien es el código para obtener la puntuación
public static int getScore() {
int returnScore = score;
switch (score) {
Case 200: score = 400; case 400: score = 800; case 800: score = 1600; case 1600: score = 200; } return returnScore;
}
CONCLUSION:
Al realizar este proyecto nos brindó más conocimientos que nos brinda la
plataforma J2me que de igual forma esta plataforma nos brinda la
creación de aplicaciones, juegos entre otros para dispositivos móviles.
RECOMENDACIÓN:
Tener siempre en cuenta los conceptos básicos de las herramientas que
vamos a utilizar para saber cuáles son sus funciones principales y así que
puedan ser aplicadas de una forma correcta.
WEB GRAFÍA
http://javiergarbedo.es/17-apuntes-java/j2me/57-crear-pantallas-
graficas-canvas-en-j2me-desde-netbeans
http://www.java.com/es/download/faq/whatis_j2me.xml
http://koderko.dk/J2METutorial/sprites.asp
ANEXOS