Den här appen har genererats med hjälp av boilerplate Technigo-react-starter
- Install required dependencies with npm:
npm install
- Install cloneDeep (LoDash) with npm:
npm install --save lodash
- Start the project:
npm start
Jag la ner relativt mycket tid på det här projektet, framför allt för att komma fram till den grundläggande logiken. Totalt la jag ner ca två arbetsdagar. Det har varit ett väldigt roligt projekt att arbeta med.
Jag började med att sätta mig in i projektet och säkerställa att jag förstod hur slutresultatet skulle se ut. Därefter bröt jag ner projektet i mindre delar, där jag följde denna ordning;
1: Satte upp modellen för spelet i form av en 2D-array
2: Satte upp logiken för hur brickorna kan/inte kan flytta sig.
3: Satte upp funktionen för hur brickorna kan/inte kan flytta sig och förankrade det till brickorna i spelet.
4: Satte upp jämförelsen mellan spelande array och vinnande array för att kunna visa användaren om den klarat spelet eller inte.
5: Satte upp shuffle-funktionen
För att göra koden lite renare skulle jag kunna bryta ut olika komponenter, bl.a. "Slumpa"-knappen och koden som hanterar om användaren har vunnit spelet.
Med det här projektet är jag mest nöjd med logiken bakom funktionen canMove. Här lade jag ner mest tid i min kod för att fundera ut logiken och få koden att fungera. Jag tycker även att koden är lättläst.