0% encontró este documento útil (0 votos)
344 vistas7 páginas

Informe Pacman

Descargar como pdf o txt
Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1/ 7

ALGORITMIA Y PROGRAMACIÓN II

INFORME PACMAN

Presentado por los estudiantes:

Carlos Andres Herrera Rojano COD: 200162294


Yazmina Yolanda Vecino Yepes COD: 200150506

Profesor:
Ph.D. Daladier Jabba Molinares

Fecha de entrega:
23/05/2022
INTRODUCCIÓN

Este laboratorio trata de un videojuego que tiene como principal protagonista Pacman, un
personaje que tiene forma de una circunferencia amarilla con la boca abierta.
Pacman aparece dentro de un laberinto donde debe comer Pac-Dots (unos puntos que están en
el camino), teniendo en cuenta que una vez comido todos los Pac-Dots el usuario puede decir
que ha finalizado el nivel exitosamente y/o que puede pasar al siguiente nivel, sin embargo
los fantasmas que tiene como característica este juego es el fantasma Clyde o Tipo naranja
que es conocido por siempre encontrar a pacman primero que los demás, en total son 6
fantasmas. Estos fantasmas son de color naranja.
Hay muchos puntos esparcidos a lo largo del laberinto que una vez comidos por Pacman
estos se van acumular en el puntaje final que va a obtener el usuario una vez termine el jugo,
por cada Pac-Dots que coma Pacman gana 1pt.
Cabe mencionar que una vez que el pacman sea tocado por un fantasma o en su defecto un
fantasma se coma a pacman, este pierde vidas.
Este juego cuenta con dos niveles que el usuario podrá disfrutar de ellos dependiendo del
puntaje obtenido en el primer nivel al comerse los Pac-Dots.

Sobre las plantillas


Nivel 1-plantilla
El usuario jugará sobre el mapa de google como nivel base, esta plantilla tiene como
caracteristica un fondo negro, algunas figuras geometricas como laberinto incluyendo un
cuadrado, rectangulos y detalles que aparecen fuera de la plantilla de juego como por ejemplo
el score (los puntos que va ganando la persona al comer punticos) que aparece en la parte
inferior, a su vez aparece sus vidas representadas en forma de corazon y que son gastadas a
medida que un fantasma se come a pacman , en total son tres vidas.

figura. plantilla #1
Nivel 2-plantilla
La idea que teníamos al crear esta plantilla era mostrarle al usuario un sendero en donde
pueda conducir al Pacman totalmente diferente y un poco más creativo.
Esta plantilla cuenta con un fondo nuevamente negro, con columnas de color azul al igual que
en la plantilla numero 1 previamente presentada tuvimos en cuenta detalles que aparecen
fuera de la plantilla de juego como por ejemplo el score (los puntos que va ganando la
persona al comer Pac-dots) que aparece en la parte inferior, a su vez aparece sus vidas
representadas en forma de corazon y que son gastadas a medida que un fantasma se come a
pacman , en total son tres vidas.

figura. plantilla #2

Detalles del juego


Al igual que el juego original nuestro pacman no puede atravesar las paredes sino conducir al
pacman tal cual como está diseñado el laberinto.
Para hacer mover el pacman el usuario tiene que usar las teclas de dirección.
Una de las formas de culminar el juego es que Pacman haya perdido todas sus tres vidas o
que se haya comido todos los puntos que aparecen durante su recorrido.

Enemigos
- Clyde, caracterizado por ser un poco rápido y siempre encontrar a pacman. Es de
color naranja. Conocido originalmente como el emboscador. Este personaje está
alrededor de toda la plantilla, en total son 16 fantasmas. Clyde te lo vas a encontrar en
el segundo nivel.

- Blinky o Tipo rosado, originalmente como Sombra o Cazado, Es el líder de los


fantasmas siendo el más listo y más malvado. Es de color rosa intenso con una cara
malevola. Por cierto no olvides que Blinky te lo vas a encontrar en el primer nivel.
REQUERIMIENTOS MÍNIMOS
Unos de los requerimientos que debe tener el computador del usuario para poder ser
ejecutado el video juego son los siguientes:

● Cuanta más memoria RAM es mejor. Lo mínimo requerido es de 8GB


● Este video juego puede instalarse en cualquier sistema operativo que sea compatible
con java.
● Tener instalada la aplicación de extensión del programa de Java denominado JDK

COMO INSTALAR EL VIDEO JUEGO


Primero que todo para poder ejecutar el programa, es decir instalar pacman en el computador
es necesario instalar la aplicación de extensión del programa de Java denominado JDK vía
internet, por lo que es necesario una conexión a red wifi. JDK según Oracle - 2015, es un
software que provee herramientas de desarrollo para la creación de programas en Java. Puede
instalarse en una computadora local o en una unidad de red. Esta extensión se puede instalar
en cualquier sistema operativo, pero para explicar cómo el usuario final puede ejecutar el
juego Pacman usaremos la guía de instalación en Microsoft Windows 8 en 32 bits por ser
universal. Para las plataformas de 32 bits es necesario tener las siguientes especificaciones
técnicas: Requerimientos en el procesador de mínimo Pentium 2 de 266 MHZ de procesador
Espacio en el disco de mínimo 245MB para el desarrollo de las herramientas incluido el
JavaFX SDK Requerimientos de memoria de 128MB para la versión de Windows 8
Una vez realizado los pasos anteriores la persona puede descargar un archivo zip que se le
enviará previamente y con la descarga del jdk de java, es decir Neatbeans puede disfrutar del
videojuego sin problemas.

ALGORITMOS PRINCIPALES
1) En primer lugar es importante mencionar la matriz usada para poder crear el laberinto
de Pacman
subrutina ( final short levelData[])
19, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 22,
17, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 20,
17, 0, 19, 26, 16, 26, 26, 26, 18, 26, 26, 26, 16, 26, 22, 0, 20,
17, 0, 21, 0, 21, 0, 0, 0, 21, 0, 0, 0, 21, 0, 21, 0, 20,
17, 26, 20, 0, 21, 0, 19, 26, 24, 26, 22, 0, 21, 0, 17, 26, 20,
17, 0, 21, 0, 21, 0, 21, 0, 0, 0, 21, 0, 21, 0, 21, 0, 20,
17, 0, 21, 0, 17, 26, 20, 0, 23, 0, 17, 26, 20, 0, 21, 0, 20,
17, 0, 21, 0, 21, 0, 21, 0, 21, 0, 21, 0, 21, 0, 21, 0, 20,
17, 26, 20, 0, 21, 0, 25, 26, 16, 26, 28, 0, 21, 0, 17, 26, 20,
17, 0, 21, 0, 21, 0, 0, 0, 21, 0, 0, 0, 21, 0, 21, 0, 20,
17, 0, 25, 26, 16, 26, 26, 26, 24, 26, 26, 26, 16, 26, 28, 0, 20,
17, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 20,
17, 26 ,26, 26, 16, 26, 26, 26, 26, 26, 26, 26, 16, 26, 26, 26, 20,
17, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 20,
17, 0, 27, 26, 16, 26, 26, 26, 26, 26, 26, 26, 16, 26, 30, 0, 20,
17, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 20,
25, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 28,
fin-subrutina

2) En segundo lugar el método loadImages que nos ofrece java para poder cargar las
imágenes de disco como lo fueron las caras del pacman en su forma arriba, abajo,
derecha e izquierda, al igual que cargar las imágenes de los fantasmas y los
corazones(vidas).

subrutinas ( loadImages)
down ← new
ImageIcon("C:\\Users\\USER\\Documents\\NetBeansProjects\\EjemploGrafico\\src\\pacman\
\images\\down.gif").getImage()
up ← new
ImageIcon("C:\\Users\\USER\\Documents\\NetBeansProjects\\EjemploGrafico\\src\\pacman\
\images\\up.gif").getImage()
left ← new
ImageIcon("C:\\Users\\USER\\Documents\\EjemploGrafico\\src\\pacman\\images\\left.gif").g
etImage()
right ← new
ImageIcon("C:\\Users\\USER\\Documents\\NetBeansProjects\\EjemploGrafico\\src\\pacman\
\images\\left.gif").getImage
ghost ← new
ImageIcon("C:\\Users\\USER\\Documents\\NetBeansProjects\\EjemploGrafico\\src\\pacman\
\images\\ghost.gif").getImage
heart = new
ImageIcon("C:\\Users\\USER\\Documents\\NetBeansProjects\\EjemploGrafico\\src\\pacman\
\images\\heart.png").getImage

fin-subritina

3) En tercer lugar tenemos el método paintComponent se encarga del re-pintado o


re-dibujado de la interfaz en diferentes situaciones, por ejemplo al mover una ventana,
al cambiar sus dimensiones, cuando hay cambios de foco, superposiciones y otras
situaciones. Muchas de estas situaciones son detectadas automáticamente por java y
se produce una llamada automática al método paintComponent.

subrutina (paintComponent(Graphics g))


super.paintComponent(g)
Graphics2D g2d ← (Graphics2D) g
g2d.setColor(Color.black)
g2d.fillRect(0, 0, d.width, d.height)
drawMaze(g2d)
drawScore(g2d)
si (inGame) entonces
playGame(g2d)
si no
showIntroScreen(g2d)
fin-.si
Toolkit.getDefaultToolkit().sync
g2d.dispose
fin.subrutina

4) En cuarto lugar tenemos una clase para recibir eventos de teclado. Es decir la
usamos para que Pacman se mueva de arriba, abajo, derecha e izquierda con las
teclas direccionales. Los métodos de esta clase están vacíos. Esta clase existe
como conveniencia para la creación de objetos oyentes(de invocaciones), es decir
para usarla debe estar soportada por el método addKeyListener.
Creamos un objeto de escucha (invocaciones) usando la clase extendida y luego lo
registramos con un componente usando el método addKeyListener del componente .
Cuando se presiona, suelta o escribimos una tecla, se invoca el método relevante en
el objeto de invocación y se la pasa al KeyEvent .

subrutina ( keyPressed(KeyEvent e))

entero key ← e.getKeyCode


si (inGame) entonces
si (key = KeyEvent.VK_LEFT) entonces
req_dx ← -1
req_dy ← 0
sino si (key ← KeyEvent.VK_RIGHT) entonces
req_dx ← 1
req_dy ← 0
sino si (key = KeyEvent.VK_UP) entonces
req_dx ← 0
req_dy ← -1
sino si (key = KeyEvent.VK_DOWN) entonces
req_dx = 0
req_dy = 1
sino si(key = KeyEvent.VK_ESCAPE && timer.isRunning()) entonces
inGame ←false
fin-si
sino
si (key = KeyEvent.VK_SPACE) entonces
inGame ← true
fin-si
fin-si
fin-subrutina
5) A partir de este algoritmo podemos inicializar las variables que nos ayudan a controlar las
vidas, el puntaje, el total de los fantasmas.

subrutina (initGame)

lives ← 3
score ← 0
N_GHOSTS ← 6
currentSpeed ← 3
fin-subrutina

CONCLUSIONES
Durante el desarrollo de este videojuego (Pacman) mi compañero Carlos y yo (yazmina)
hemos aprendido a usar nuevas estructuras como por ejemplo: El paquete Swing que es una
biblioteca gráfica para Java, en vez de usar el entorno gráfico de Java directamente nosotros
aprendimos a usar esta herramientas y la aplicamos en el videojuego, Incluye widgets para
interfaz gráfica de usuario tales como cajas de texto, botones, listas desplegables, tablas entre
muchas otras. El estudio autodidacta nos permitió ir más allá de las estructuras aprendidas en
clase y nos sentimos satisfechos con el aprendizaje adquirido más que con el resultado del
videojuego.
En nuestro caso personal trabajar en equipo nos sirvió para desarrollar conocimientos un
poco más teóricos, pero también a desarrollar habilidades como la comunicación y la
resolución de conflictos, además en nuestra opinión gracias a esta actividad de una u otra
manera nos estuvo preparando para la realidad de un mundo laboral en el que saber cooperar
es una exigencia cada vez mayor en las empresas.

También podría gustarte