0085 spel spindel
Nu är det dags att skriva ett spel på egen hand. Kunskaperna du förvärvat i kapitel ett till tre bör räcka.
Klicka
- scenario
- New Java Scenario
för att skapa ett nytt projekt spider-game
i mappen programmering.
Välj valfri bakgrund till klassen MyWorld.
Till klasserna nedan finns det lämpliga bilder under animals
.
Klassen Spider
Spindeln ska styras med tangenterna wasd.
- w - upp 3 pixlar
- a - vänster 3 pixlar
- s - ner 3 pixlar
- d - höger 3 pixlar
Spindeln kan flyttas diagonalt om två lämpliga tangenter hålls ner, till exempel w och a.
Metoden tryMove
Om du inte redan har gjort det flytta koden till en metod som du kallar tryMove
. Metoden tar inga parametrar.
Metoden tryEat
Metoden tar inga parametrar. Om spindeln kolliderar med en fluga äts den upp. Ta bort flugan. Se till att metoden anropas på lämpligt ställe.
Klassen Fly
Vid varje anrop av act
-metoden flytta flugan 5 pixlar.
Det är 50% chans att flugan svänger. Hur mycket den svänger slumpas i intervallet -15 till +15 grader.
Om den är vid en kant svänger flugan. Hur mycket den svänger slumpas i intervallet - 45 till +45 grader.
Metoden move
Flytta koden ovan till metoden move
. Anropa metoden på lämpligt ställe. Metoden tar inga parametrar.
Klassen Lizard
Lägg till följande kod efter klassens startklammer. Koden gör att ödlans startriktning slumpas.
public Lizard()
{
setRotation(Greenfoot.getRandomNumber(360));
}
Metoden move
Metoden tar inga parametrar. Ödlan flyttar 2 pixlar framåt. Om ödlan är vid kanten svänger den. Hur mycket den svänger slumpas i intervallet - 45 till + 45 grader. Anropa metoden på lämpligt ställe.
Metoden eat
Metoden tar inga parametrar. Ödlan äter både spindlar och flugor. Ta bort uppätna spindlar och flugor. Om spindeln blir uppäten avslutas spelet. Anropa metoden på lämpligt ställe.
Hur måste du ändra koden i denna metod för att ödlan ska kunna äta maskar också, klassen Worm? Och hur blir det om vi lägger till en sort till som ödlan kan äta?
Det finns en tjusig lösning. I nästa utmaning används den.
Metoden eat igen
Skriv en ny eat-metod. Behåll den gamla. Den nya ska ta en parameter av typen
java.lang.Class<?>
Kalla parametern för food
. Skriv färdigt resten av metoden. Anropa metoden på lämpligt ställe. Se till att den äter både flugor och spindlar. När du har sett att det fungerar ändrar du så att den bara äter spindlar. Nu blir koden lite enklare.
För att äta spindlar och flugor anropas metoden så här:
eat(Spider.class);
eat(Fly.class);
Extra
Fortsätt att utveckla spelet.