Mobiltelefonapplikationer med Java ME: Hemtentamen 2008-12-13

Det här är hemtentan som går lördag 13 december 2008 i kursen Mobiltelefonapplikationer med Java ME. Ansvarig lärare är Thomas Padron-McCarthy (Thomas.Padron-McCarthy@oru.se), telefon 070-73 47 013.

Instruktioner

  1. Skriv och provkör programmet som beskrivs i uppgiften, och skicka sen in det färdiga programmet till mig (Thomas.Padron-McCarthy@oru.se) senast klockan 08:00 söndag 14 december 2008.
  2. Uppgiften ska lösas enskilt, dvs inga grupper av två eller flera studenter.
  3. Du får använda dator, böcker och vilka andra hjälpmedel som helst, men du får inte samarbeta eller fråga någon (utom mig).
  4. Om du behöver fråga något, så kontakta gärna mig. Det är nog bäst att ringa (se mobilnumret ovan), för jag lovar inte att jag kollar e-posten under dagen.
  5. Packa ihop hela katalogen med applikationen i en Zip-fil, och skicka den som en bilaga. Men döp först om Zip-filen från nånting.zip till exempelvis nånting.info för att överlista överambitiösa virusfilter. Om applikationen bara består av en enda Java-fil kan man i stället skicka bara den filen.
  6. Om du inte senast på måndagen fått e-post från mig med en bekräftelse på att du skickat in uppgiften, bör du kontakta mig, enklast genom att ringa eller SMS:a mig (ifall det är e-posten som inte fungerar).
  7. Godkänt resultat på den här hemtentan ger betyget G på teoridelen av kursen. Tillsammans med godkända inlämningsuppgifter ger detta betyget G på hela kursen. Om man vill ha betyget VG ska man dessutom själv hitta på och göra en mindre projektuppgift.

Uppgiften

Vi ska göra en enkel simulator av en studsboll. Den kan se ut till exempel så här:

En studsboll

Bollen ska röra sig över skärmen. Det åstadkommer man genom att hela tiden hålla reda på bollens hastighet i x-led och y-led, och i varje "runda" i simuleringen lägga till dessa hastigheter till bollens x- respektive y-koordinat. Därefter ritar man upp skärmen, med bollen på rätt plats. När bollen träffar en kant ska den studsa.

Dessutom ska vi simulera gravitation. Det gör man genom att i varje runda addera ett litet värde (till exempel 0.1) till bollens hastighet i y-led.

På den vänstra halvan av skärmen ska gravitationen vara riktad nedåt, och på den högra halvan ska gravitationen vara riktad uppåt. Så här kan en bit av bollens bana se ut, fram till bollens aktuella position:

En bit av bollens bana

(Banan behöver inte ritas ut av programmet, utan är bara med för att illustrera hur gravitationseffekten ändras mellan planhalvorna.)

Dessutom ska det gå att avsluta programmet och spara bollens aktuella position och hastighet. Nästa gång programmet startar ska bollen fortsätta där den var.

Programmet får inte krascha.


Thomas Padron-McCarthy (Thomas.Padron-McCarthy@oru.se), 14 december 2008