Documentation - Sph3ricalPeter/projectsnak3 GitHub Wiki
Project SNAK3
- cílem tohoto projektu bylo vytvořit remix na klasickou hru Snake v https://p5js.org/
Features:
- klasický snake tak jak ho každý zná
- experimentální arcade a exploration mode (arcade - had se progresivně zrychluje, exploration - hráč prochází mapy s různými score goaly)
- ozvučení
- leaderboards
- main menu (play, settings, highscores), mode menu (classic, arcade, exploration), settings menu (sounds on/off, reset score)
- (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í:
- základní app.html, p5.js canvas, game.js skript se základní verzí hry
- část game.js přesunuta do food.js a snake.js
- score.js s využitím localStorage
- audio.js se základním ozvučením
- ui.js, navigační tlačítka a formulářové prvky
- cleanup a doplnění nedostatků, oprava chyb
- komentáře kódu, čitelnost
Hlavní části aplikace:
- app.html - hlavní stránka aplikace, obsahuje p5.js canvas a veškeré UI a importy skriptů/css
- game.js - hlavní kontrolní skript, instancuje a řídí celou aplikaci
- snake.js, food.js - definují chování hada a jídla
- score.js - uchovává score hráčů a ukládá ho do local storage
- audio.js - obsahuje audio manager který použtí audio clipy
- ui.js - ovládá veškeré ui a animace přechodů
- cannvas.css, main.css, topbar.css - soubory se styly
Knihovny:
- p5.min.js - poskytuje canvas, setup a draw loop funkce
- 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.