Proyecto Final

17
- INTEGRANTES: Alexandra Jara Liliana Salazar PROFESOR: Ing. Esteban Cáceres TEMA: Desarrollo de un juego “Pacman” MATERIA: Mención I

description

proyecto realizado con todos sus puntos conceptuales. y ademas podrás guiarte para algún trabajo.

Transcript of Proyecto Final

Page 1: 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

Page 2: Proyecto Final

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.

Page 3: Proyecto Final

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í.

Page 4: Proyecto Final

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.

Page 5: Proyecto Final

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.

Page 6: Proyecto Final

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

Page 7: Proyecto Final

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.

Page 8: Proyecto Final

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();

Page 9: Proyecto Final

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; }

Page 10: Proyecto Final

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);

Page 11: Proyecto Final

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;

}

Page 12: Proyecto Final

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

Page 13: Proyecto Final

ANEXOS