Skip to content

oOBoniOo/snake

Repository files navigation

SNAKE

ini

# Index
  1. Enlace
  2. Descripción
  3. Estructura proyecto
  4. Tecnologías empleadas
  5. Recursos
  6. Compilacion y Ejecución
  7. Referencias
  8. Licencias
  9. Agradecimientos

WebCam Capture

Enlace al juego:

https://oobonioo.github.io/snake

Descripción

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.

ini

El movimiento en el area de juego trata de imitar el movimiento por "bloques" que se efectuava en el movil.

ini

ini

ini

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.

Tecnología empleada

Inicio

Estructura proyecto

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 FPS
      • Map.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 obstaculos
      • Point.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"

Inicio

Compilacion y Ejecución

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

Inicio

Recursos

Sprites

ini

ini

ini

Referencias:

Me sirvió de orientacion para el mapa y el "recorte" de los sprites este repositorio:

https://github.com/CodingWith-Adam/snake/blob/main/index.js

Inicio

Licencias

Inicio

Agradecimientos

Inicio

About

Versión del clásico juego de la Serpiente

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published