- Enlace
- Descripción
- Estructura proyecto
- Tecnologías empleadas
- Recursos
- Compilacion y Ejecución
- Referencias
- Licencias
- Agradecimientos
https://oobonioo.github.io/snake
Juego basádo en el clásico de la serpiente del antiguo movil Nokia 3310. Se han añadido algunas texturas y objetos en el juego con los que poder interactuar.
Para interactuar con el juego simplemente utiliza las flechas del teclado.
El movimiento en el area de juego trata de imitar el movimiento por "bloques" que se efectuava en el movil.
Los objetos "feed" suman puntos al marcador, mientras que cualquier choque con un obstáculo, borde o el propio cuerpo de la serpiente, forzará la finalización del juego.
TOdavia queda pendiente la incrporación de algún actor mas al juego.
- NodeJS https://nodejs.org/
- yarn https://classic.yarnpkg.com/en/
- Typescript https://www.typescriptlang.org/
- Lodash https://www.npmjs.com/package/lodash
- fs-extra https://www.npmjs.com/package/fs-extra
- github https://github.com/oOBoniOo
- ghPages (despliegue del juego)
El proyecto esta dividido en directorios con los archivos ts a su vez separados por actores, script principal, utilidades y controladores.
src
:actors
:Actors.ts
: Aqui esta definido el la interface y clase actor de la que heredan todos los actores del juego.BodyPArts.ts
: Representa cada una de las partes del cuerpo de la serpiente.Chronometer.ts
: No usado se espera usar en el futuro para guardar tiempos, puntuaciones y mas funcionalidades.Feed.ts
: Con el modulo feed conseguimos crear cada una de las "comidas" que la serpiente tendra en el area de juego.FPSViewer.ts
: visor de FPSMap.ts
: con la clase mapa, almacenamos y gestionamos las posiciones donde no podrán aparecer objetos puesto que ya estan ocupadas-Obstacle.ts
: Representa cada uno de los obstaculos que se crean ene le juego.PointCounter.ts
: con este modulo, pintamos la puntuacion en el canvas.
assets
:sprites
: tesxturas usadas para representar los objetos del juego.
state
:Objets
: este modulo se encarga de gestionar los objetos extra(todo menos la serpiente) que aparecen en el juego.
types
:Coords.ts
: tipo de las coordenadas de los obstaculosPoint.ts
: tipo para las ubicaciones de los actores.Size.ts
: tipo para los tamaños.
utils
:checkLimits.ts
: controla los limites del juego para el choque de la serpiente.keyboardMap.ts
: controla las pulsaciones de las teclas.
script.ts
: controlador principal del juego(renderizado, inicialización de actores)
Para los archivos multimedia y hojas de estilos se ha utilizado el directorio "public"
Si queremos ejecutar con parcel:
git clone https://github.com/oOBoniOo/serpiente_mid_cnwd.git
cd serpiente_mid_cnwd
yarn init -y
yarn install
yarn run dev
Para el despliegue en ghPages:
yar run ghbuild
Me sirvió de orientacion para el mapa y el "recorte" de los sprites este repositorio: