Documentation - Sph3ricalPeter/projectsnak3 GitHub Wiki

Project SNAK3

  • cílem tohoto projektu bylo vytvořit remix na klasickou hru Snake v https://p5js.org/

Features:

  1. klasický snake tak jak ho každý zná
  2. experimentální arcade a exploration mode (arcade - had se progresivně zrychluje, exploration - hráč prochází mapy s různými score goaly)
  3. ozvučení
  4. leaderboards
  5. main menu (play, settings, highscores), mode menu (classic, arcade, exploration), settings menu (sounds on/off, reset score)
  6. (jednoduché animace typu scale-lerp při spawnu jídla atp..)

Postup:

Implementace projektu probíhala přibližně v následujícím pořadí:

  1. základní app.html, p5.js canvas, game.js skript se základní verzí hry
  2. část game.js přesunuta do food.js a snake.js
  3. score.js s využitím localStorage
  4. audio.js se základním ozvučením
  5. ui.js, navigační tlačítka a formulářové prvky
  6. cleanup a doplnění nedostatků, oprava chyb
  7. komentáře kódu, čitelnost

Hlavní části aplikace:

  1. app.html - hlavní stránka aplikace, obsahuje p5.js canvas a veškeré UI a importy skriptů/css
  2. game.js - hlavní kontrolní skript, instancuje a řídí celou aplikaci
  3. snake.js, food.js - definují chování hada a jídla
  4. score.js - uchovává score hráčů a ukládá ho do local storage
  5. audio.js - obsahuje audio manager který použtí audio clipy
  6. ui.js - ovládá veškeré ui a animace přechodů
  7. cannvas.css, main.css, topbar.css - soubory se styly

Knihovny:

  1. p5.min.js - poskytuje canvas, setup a draw loop funkce
  2. jquery-3.5.1.min.js - použito pro ovládání navbaru při scrollování

Komentáře jsou k dispozici v kódu.