4. Moment04 - Gamestats och externa klasser

Spelet fungerar nu förhoppningsvis ganska så bra. Men för att få till en bra upplevelse av spelet så gäller det att vi kan rama in spelet på ett bättre sätt med en kontrollerad start och sedan att applikationen inte avslutas så fort vi dör.

4.1 Gamestats

I bokens kapitel 8 så är det dags att strukturera om koden igen. Detta beror på att ett färdigt spel innehåller fler delar än själva spelet, det kan/bör innehålla en välkomstsida, någon form av meny, kanske en highscorelista osv. I detta moment går tutorialen igenom just detta. Dessutom kommer det med start nu förberedas för en del eget arbete. Författaren ger förslag på saker som bör göras men som han inte går igenom utan det är saker som du troligtvis kan lösa på egen hand med de kunskaper du redan har. Var extra noggrann här med att kommentera och dokumentera det arbetet du gör. Ta också regelbundna säkerhetskopior på hela projektet så är det lättare att återskapa till en tidigare punkt där ditt projekt fungerade.

Att lägga till egna saker är inget krav men det är bra träning att kunna göra detta och det kommer också ge dig bättre förutsättningar om du skall bygga ett eget spel som slutprojekt i kursen. Kortfattat kan man säga att om du vill klara av kursen så behövs inga egna utbyggnader. Om du vill sträva efter ett högre betyg så kommer ud tjäna på en högre förståelse och fler och vassare egna utbyggnader.

Uppgift gamestats

När du är klar med kapitel 8 så är koden säkert rörig igen, så gå igenom koden, snygga till, kommentera de saker du har gjort medan du kommer ihåg vad du har gjort. Spara en kopia som innehåller allt som fungerar så här långt så kan du jobba vidare med en kopia i nästa kapitel. Skulle något bli väldigt fel i nästa del så kan du enkelt börja om från ett fungerande projekt istället för att behöva felsöka allt för länge. Skriv ett inlägg på din dokumentationssida.

Mitt önskemål är att din dokumentationssida, MINST, skall uppdateras när du är klar med varje moment. Vissa moment är stora så det kan vara mening att dokumentera oftare.

4.2 HighScore

Det har blivit dags att jobba lite med externa klasser. En extern klass är en klass som är skriven av någon annan än dig. Till boken som vi använder oss av när vi bygger vårt spel så finns det en guide till hur du skall bygga in en klass som lagrar HighScore och där vi dessutom skall lagra dessa i en fil så att det går att tävla mot de spelare som redan har spelat.

Börja med att ladda ner dessa två filer;

Följ sedan guiden och skapa en applikation som endast har till syfte att skapa en highscore-lista som kan sparas i fil. Bygg gärna detta som en egen applikation först för att få allt att fungera som det är tänkt. När du är klar så är det väl ingen överaskning att denna funktionalitet hade varit välkommen till vårt SpaceShooter-spel. Så om du känner dig mogen att sammanfoga dessa projekt så har du en bra utgångspunkt för slutprojektet senare.

Denna gång är min rekommendation extra stark att du tar säkerhetskopior på bägge projekten innan du börjar sammanfoga dem.

Uppgift externa klasser

Beroende på om du endast följde guiden eller om du sammanfogade projekten så är koden säkert rörig igen. Lägg en stund på att städa upp och kommentera de delar som du misstänker kan behöva en extra förklaring i framtiden.

Skriv ett inlägg på din dokumentationssida.