La explicación de algunos algoritmos creados para realizar una personalización del pacman original, razón por la cual le llame Pac-Pac, este fue realizado solo para entretenerme en mis ratos libres, pero finalmente a alguien le gusto y fui invitado a presentar PAC-PAC en un evento universitario.
Aquí se muestran las imágenes utilizadas y algunas imágenes que se pretendían usar pero que al final no se usaron.
y agradecimientos a las personas que me apoyaron a realizarlo.
3. Primero definimos una cuadratura:
Tamaño del mundo y tamaño de cada cuadro
Luego definimos las
paredes de nuestro
mundo y los caminos
Libres y le asignamos
un numero
0 – camino
1- pared
Mapa[][]
5. Creamos un vector por cada tipo de objeto a crear:
Y a cada ejemplar del objeto le asignamos un numero UNICO,
Este será el índex dentro del vector
0 – camino
1- pared
6. Creamos un vector por cada tipo de objeto a crear:
Y a cada ejemplar del objeto le asignamos un numero UNICO,
Este será el índex dentro del vector
0 – camino
1- pared
pera[0] = ‘’
pera[1] = ‘’
pera[2] = ‘pera02’
pera[3] = ‘pera03’
pera[4] = ‘pera04’
pera[5] = ‘pera05’
7. Creamos un vector por cada tipo de objeto a crear:
Y a cada ejemplar del objeto le asignamos un numero UNICO,
Este será el índex dentro del vector
0 – camino
1- pared
pera[0] = ‘’
pera[1] = ‘’
pera[2] = ‘pera02’
pera[3] = ‘pera03’
pera[4] = ‘pera04’
pera[5] = ‘pera05’
limon[0]=‘’
limon[1] =‘’
limon[2] =‘’
limon[3] =‘’
limon[4] =‘’
limon[5] =‘’
limon[6] =‘limon06’
limon[7] =‘limon07’
limon[8] =‘limon08’
limon[9] =‘limon09’
9. Creamos un vector por cada tipo de objeto a crear:
Cada celda de la matriz le damos un valor de 20x20 y esto
lo usamos para codificar el mundo que ya tenemos a nivel lógico
TOP
(eje y)
LEFT (eje x)
8
3
Left = (left logico) * 20
Top = (top logico) * 20
Left logico = 8
Top logico = 3
Entonces
10. Con estos datos de 3, podemos crear un div en la posicion
Adecuada:
Left = 160
Top = 60
EN HTML
<div id=“pera03”
style=“top:60px;
left:160px;”
class=“pera”>
</div>
Recordemos que 3 solo tiene valor en vector pera[]
EN JS
Mapa[3][8] = 3
12. El personaje se desplaza de celda en celda, es decir avanzando
De 20px en 20px según la dirección que tenga.
Pero antes de desplazarse
Consultara en la matriz de
Mapa que es lo que hay en
La próxima casilla:
Si hay 1 no avanzará
Si es 0 avanzará
De 2 a 5 buscará en el vec
De peras el valor del id,
Eliminará esa pera
Especificamente y ganará
El puntaje que dá la pera
De 6 a 9 lo mismo pero con
El vector limon
13. Para este ejemplo si el personaje sube
- Se encuentra que no hay un 1 asi que puede subir.
-Se encuentra que es un 2, asi que se trabaja con Vector pera[]
-Decimos
document.getElementByid(pera[mapa[top][left]]).style.display = “none”;
-Luego avanzamos hacia arriba exactamente en 20px
-Y decimos además:
mapa[top][left] = 0;
La direccion hacia donde moverse la deside el jugador
14. Los villanos deciden hacia donde moverse por un sencillo
análisis matemático
TOP
(eje y)
LEFT (eje x)
8
3
3
6
Villano_x = 3
Villano_y = 6
persj_x = 8
persj_y = 3
Dx = Villano_x – persj_x
Dy = villano_y – persj_y
Si abs(Dx) > abs(Dy) entonces
trabajamos con x
Sino
trabajamos con y
15. Los villanos deciden hacia donde moverse por un sencillo
análisis matemático
TOP
(eje y)
LEFT (eje x)
8
3
3
6
Villano_x = 3
Villano_y = 6
persj_x = 8
persj_y = 3
Esta vez abs(Dx) es mayor
Si Dx > 0
avanza a la izquierda
Sino
avanza a la derecha
22. Mi gratitud
A mis compañeros de soporte técnico por apoyarme con sus
Ideas y criticas de cómo se va desarrollando el juego
Agradecimiento especial al
Tec. En computación Oswaldo Martínez
Diseñador grafico del video juego pacpac
en su version abril-mayo 2015
Memecamisetas.zz.mu/pacpac