Nada

Laboration 2 - Hoppsansa

I den här labben ska du göra en applet med ett knepigt spel för att träna mer på komponenter, inre klasser, layouter och händelselyssnare. Spelet heter Hoppsansa och ser ut så här.
För att få godkänt på labben måste man ha lyckats byta plats på dom gröna och dom röda!

En inre knappklass

I stället för att lägga sju vanliga Button-objekt i en GridLayout ska du skriva en egen knappklass Ruta som är en Button med ett par extra booleska metoder, så att man kan skriva
   if(ruta[i].grön())...
Klassen Ruta är en inre klass i appleten. När rutorna skapats måste dom få lyssnare av typen ActionListener. Tänk efter om lyssnaren bör vara en yttre klass, en inre klass, en anonym klass eller en redan existerande containerklass. Förmodligen har du en enda actionPerformed(ActionEvent e) som ska ta hand om alla sju knapparnas händelser. Hur får man reda på vilken knapp som har genererat händelsen? Ett sätt är att i en for-slinga testa igenom alla ruta[i] och se om någon är lika med e.getSource(). Enklaste sättet att hålla reda på var tomrutan är måste vara en global variabel tom som anger dess aktuella index (0..6).

...och ett prydligt yttre.

När allt fungerar kan du lägga ner några minuter på bjäfs och tingel-tangel. Du kan till exempel lägga in appleten på din egen webbsida, du kan infoga pruttknappen och så vidare. Säkert stöter du på problem och förtretligheter och det ger dej en god anledning att be handledarna om råd!
Extrauppgift: Låt det vara grodor som hoppar åt höger och pingviner som hoppar åt vänster.
frog.gif frog.gif frog.gif        penguin.gif penguin.gif penguin.gif

En kul applet av ................................... avnjöt.............................. den .................


Sidansvarig: <henrik@nada.kth.se>
Senast ändrad 14 januari 2002
Tekniskt stöd: <webmaster@nada.kth.se>