0071 ping-pong

Nu är det dags att pröva vad du har lärt dig på kapitel 1 och 2.

Skapa ett nytt scenario i Greenfoot genom att klicka

  • scenario
  • new Java scenario

Spara i mappen programmering och döp scenariot till ping-pong.

Högerklicka på klassen Actor och välj new subclass. Döp klassen till Ball. Välj bilden ball.png under objects.

Lös uppgiften nedan. Titta på kod som du redan har skrivit för att få hjälp. Försök att lösa uppgiften på egen hand.

metoden act

Implementera (skriv kod) följande i metoden act:

flytta fem pixlar framåt
om bollens x-koordinat är större än 500, 
  så sätt riktningen till 180 grader
om bollens x-koordinat är mindre än 100, 
  så sätt riktningen till 0 grader

Tips: metoderna

move
getX
setRotation

metoden pingPong

Skriv ett metodhuvud för metoden pingPong. Metoden tar inga parametrar. Under metodhuvudet skriver du:

{

}

Flytta koden som finns i metoden act till mellan klamrarna.

Anropa metoden pingPong i metoden act.

metoden isCloseToRightEdge

Skriv ett metodhuvud för metoden isCloseToRightEdge. Metoden returnerar true eller false. Metoden tar inga parametrar.

Under metodhuvudet skriver du:

{

}

Skriv kod mellan klamrarna för att:

om x-koordinaten är större än 550
  return true
annars
  return false

Tips: return true och return false är Javakod.

Testa metoden.

metoden pingPong - variant 2

Skriv en ny metod pingPong. Metoden tar en parameter som kallas distance. Parametern ska kunna vara ett heltal. Parametern bestämmer hur nära kanten som bollen ska vända.

Anropet pingPong(100) ska få bollen att vända åt vänster då det är 100 pixlar kvar till högerkanten och att vända åt höger då det är 100 pixlar kvar till vänsterkanten.

Testa metoden.

metoden moveInSquare - EXTRA

Skriv ett metodhuvud för metoden moveInSquare. Metoden tar inga parametrar och returnerar inget. Implementera även metoden. Bollen ska röra sig i en fyrkant.

Tips:

&& //betyder och
|| //betyder eller

Testa metoden.