Webbteknik 2

Uppgift U2b — Spelet "Jaga vildsvin"

I denna uppgift ska du bygga vidare på ett program som presenterats i ett antal steg i kursens exempelsamling. I programmet kan man köra runt med en bil på en spelplan. Din uppgift är att lägga till vildsvin, som ska dyka upp slumpmässigt på spelytan. Du ska också ha ett krocktest, för att se om bilen kör på vildsvinet. Följande film demonstrerar hur det färdiga programmet ska fungera:

3 min.

Du arbetar med uppgiften under en vecka. Utgå från filerna i mappen U2b, där det finns filer med HTML- och CSS-kod. Dessa filer får inte förändras, utan de ska vara som de är. Det finns också en JS-fil med kod för hantering av bilen. Det är i den filen du ska lägga till din JavaScript-kod för hantering av vildsvinet.

Funktionsbeskrivning

Det ska dyka upp vildsvin med slumpmässig placering. Totalt ska det komma fram tio vildsvin, men endast ett i taget. I praktiken finns det endast en img-tagg för vildsvinet och den ska ges en ny slumpmässig placering, då ett nytt vildsvin ska komma fram. Spelaren ska sedan försöka köra på vildsvinet med bilen, men vildsvinet ska endast ligga kvar en viss tid, innan det ges en ny slumpmässig plats, oavsett om man kört på det eller ej.

Det som ska läggas till är funktioner för placering av vildsvinet och krocktest samt räknare för antal vildsvin och antal träffar. Följande instruktioner guidar dig genom de tillägg som du ska göra i koden.

Tillägg i init-funktionen

Tillägg i startGame

Tillägg i stopGame


Funktionen newPig, för nytt vildsvin

Skapa en ny funktion och kalla den newPig. Lägg sedan in följande i den.


Funktion checkHit, för krocktest

Skapa en ny funktion och kalla den checkHit. Kopiera också funktionen elementsOverlap från exempel ex5-1, så att du kan använda den för att kontrollera om bilen och vildsvinet överlappar varandra.

I funktionen checkHit ska följande göras:

Lägg in ett anrop av checkHit i slutet av funktionen moveCar, så att krocktestet utförs för varje förflyttning av bilen.


Justering, så att en träff endast räknas en gång


Ljudeffekter i funktionen checkHit


Test och städning