Denna övning är det tänkt att du skall fortsätta implementera egna
klasser. Det är inte omöjligt att det tar mer än de schemalagda två
timmarna att lösa de rekommenderade uppgifterna, men enligt
studiehandboken är det meningen att man skall lägga ner i genomsnitt
ca 3-4 timmars självstudietid för varje övningspass, utöver
övningstiden. Om det finns någon ledig plats i en övningssal under
något annat övningspas än ditt eget så får du gärna gå dit också (de
studenter vars grupp har schemalagd övningstid får dock förtur för
hjälp) -- du kan se vilken grupp du tillhör genom att i
kommandofönstret skriva ptgroup
.
emacs
Den som använder emacs
som texteditor kan använda ett
antal snabb-kommandon som underlättar en del av arbetet under
övningarna:
Alt-4
: frågar efter ett programnamn, och skapar
ett huvudprogram med det givna namnet.
Alt-2
: ger en import-sats -- du får själv fylla
i sista delen.
Alt-p
: ger System.out.print
Alt-k
: ger Keyboard.next
Inlämningsuppgift 3, försök redovisa uppgiften under denna övning (nästa pass kommer vi att börja på ett nytt avsnitt).
Skriv ett program som låter användaren hålla koll på en flock förvirrade sköldpaddor (det program som visades under föreläsningen).
När programmet startar skall ett antal (ca 5-10) sköldpaddor
skapas i mitten av ett GraphicsWindow
, de skall
sedan vridas slumpmässigt och börja gå rakt framåt (vilket
innebär att de alla från början är på väg ut från skärmen).
Användaren skall sedan med hjälp av musen och tangentbordet försöka hålla alla sköldpaddorna kvar i fönstret - när man klickar med musen på (eller nära) en sköldpadda skall denna sköldpadda räknas som aktuell, och användaren kan vrida den åt höger eller vänster genom att trycka på någon av två tangenter.
Man kan lägga till flera olika finesser, exempelvis skulle vi kunna stoppa programmet så snart någon sköldpadda lämnar skärmen, eller låta sköldpaddorna öka farten efterhand, eller ge poäng varje gång vi lyckas få ett bestämt antal sköldpaddor att hamna inom ett givet avstånd från varandra, etc.
Du kan eventuellt få hjälp av att titta på det program som vi
skrev under föreläsningen (se här).
Dokumentation av GraphicsWindow
och GameEvent
finns under "Dokumentation av
kurspaketet" till vänster (titta
under "Fönster
med händelser").
Ett lösningsförslag finns här.