0103 klurigt spel

En bild av spelet visas nedan. I korthet går det ut på att samla minst 5 körsbär och ett guldklot och ta sig till tältet. Hjälptext visas då man är i tältet. Det gäller att akta sig för ormarna. Detaljerade instruktioner följer nedan.

Bilder

  • World: backgrounds/sand2.jpg
  • Tent: buildings/tent.png
  • Cherry: food/cherries.png
  • Snake: animals/snake2.png
  • Globe: objects/gold-ball.png
  • Lizard: animals/lizard2.png

Klassen Lizard

egenskaper eller objektvariabler

Objektvariabeln numberOfCherries får startvärdet 0.

Objektvariabeln hasGlobe får startvärdet false.

Objektvariabeln timeToNoText får startvärdet 0.

Objektvariablen text får värdet "", det vill säga en tom text.

Metoden act()

Anropa metoderna move(), pickUp() och showInformation() i tur och ordning. Skriv även metodhuvuden för dessa tre metoder så att koden kompilerar.

Metoden move()

I pseudokod nedan:

  pil upp => flytta 3 framåt

  pil ner => flytta 1 bakåt

  pil vänster => sväng 5 grader åt vänster

  pil höger => sväng 5 grader åt höger

Metoden pickUp()

  rör vid körsbär => 
      öka numberOfCherries med 1
      ta bort körsbäret

  rör vid guldklot =>
      hasGlobe får värdet true
      ta bort guldklotet

  rör vid tält =>
      om numberOfCherries är större än 4 och hasGlobe är sann =>
          text sätts till "You made it"

      annars om numberOfCherries är högst 4 =>
          text sätts till "Pick more cherries" 

      annars om hasGlobe är falsk =>
          text sätts till "Find a globe"

      anropa metoden setText() metoden ska du strax skriva

Metoden setText()

Metoden setText() används tillsammans med metoden showInformation() för att visa en hjälptext då ödlan är vid tältet. Texten försvinner 50 bilder efter att ödlan har lämnat tältet.

  timeToNoText får värdet 50
  visa texten i text där x är 300 och y är 380

Tips: showText() i klassen World samt metoden getWorld().

Metoden showInformation()

  om timeToNoText är mindre eller lika med 0
      sätt text till ""
      visa texten i text där x är 300 och y är 380 för att sudda texten

  annars
      timeToNoText minskas med ett

Klassen Snake

Låt ormarna flytta sig på valfritt vis.