🔘 Dammen implementatie voor Bit Academy technische test
Maak een implementatie van het bordspel dammen. De bedoeling is dat je de regels van het dammen verwerkt in jouw implementatie.
Uiteindelijk een tablet variant geworden waar je 'tegenover' elkaar kunt spelen door op het bord te spelen. Beetje als Clubhouse games op de Nintendo Switch.
✅ De gebruiker moet kunnen aangeven welke steen hij waarnaartoe verplaatst.
❌ Het is verplicht om te slaan wanneer dit mogelijk is.
✅ Een steen kan niet naar achteren verplaatst worden.
✅ Het systeem moet enige feedback kunnen geven over de staat van het spel.
✅ Reset van het spel, speeltijd timer
- Abstraheren van duplicaat elementen in componenten met props (bijv. speler card)
- Edge cases afvangen (abstraheren / dupliceren voor tweede speler)
- Functionaliteiten voor de 'dam' en meerdere keren slaan
- Fatsoenlijke CSS schrijven
- Astro met PostCSS voor CSS imports en scss achtige functionaliteiten
- Linters en configs (stylelint, eslint, editorconfig) met run scripts
- Dammen heeft wat mij betreft een interface nodig, daarom niet besloten om de output via de CLI te doen maar netjes als UI. De logica is dan niet complex genoeg om het gebruik van een (SPA) framework te verantwoorden. Vandaar gekozen voor plain 'ol JavaScript, eventuele wat complexere state management daar kan ik de DOM voor gebruiken.
- Waarom gebruik je dan Astro? Puur vanwege het feit als ik toch besluit om iets meer interactieve componenten te gebruiken ik partial hydration kan gebruiken. En modulariteit van componenten. En Astro stond nog op m'n lijstje om ooit een keer te gebruiken 🤷♀️
- Is dit het beste werk wat je ooit gemaakt hebt? Nee. Kwam je tijd tekort? Ja. Eet je een tosti met ketchup of curry? Ketchup
node -v && npm -v
- Git clone het project naar je lokale machine
git clone https://github.com/dandevri/dammen.git && cd dammen
- Installeer de dependencies
npm install
npm run dev