Nada

Kurs 2D1343 [NADA, KTH]                                               2000-01-17 
Henrik Eriksson

Datalogilaboration 1 - Spel

Den här labben måste göras på elektros unixdatorer. I fortsättningen får du gärna göra labbarna på din hemdator, men problem som då kan uppstå har lärarna inte möjlighet att lösa åt dej.

Läs kurssidan!

Vi kommer att använda webben för att sprida kursinformation. Kör igång Netscape från programmenyn och surfa till kurssidan www.nada.kth.se/kurser/kth/2D1343. Spara ett bokmärke så att du lättare hittar hit - här kommer nämligen all kursinformation att dyka upp.

Registrera dej!

Dina resultat kommer att bokföras i programmet res. Lärarna kan föra in resultat och kursdeltagarna kan se vad som finns infört. För att du ska komma med i databasen måste du checka in så här:
   module add resultat
   res checkin datalogi00
Svara på frågorna om personnummer och namn. Numret på övningsgruppen är inte så viktigt - man får ju byta under kursens gång. Din labbkamrat får vänta med incheckningen en liten stund tills hon är inloggad.

Skapa underkatalog!

Ge först kommandot ls och tryck retur. På din katalog finns underkataloger som Public och Mail. Skapa en ny underkatalog med kommandot mkdir datalogi och gör ls igen för att kolla att du lyckats. Vissa underkataloger, till exempel Private, bör bara du komma åt, men till datalogikatalogen vill du ge din labbkamrat fullständiga rättigheter. Filsystemets kommando för detta är
   fs sa datalogi e98_kul all 
om labbkamraten är e98_kul. Kolla sedan med
   fs la datalogi 
att det fungerat. Alla filsystemkommandon inleds med fs, sedan står sa för set access och la för list access. Rättigheterna är r=read, l=list, w=write osv.

Kopiera javafil!

Gå nu ner i datalogikatalogen med
   cd datalogi  
Här finns ännu inga filer, men du ska kopiera filen Spel.java från kurskatalogen. Kurskatalogens filer kan nås från webbsidan och i Netscapes filmeny kan du sedan välja "Save as". Men unixkommandot
   cp /info/kurser/datalogi_e99/Spel.java  .
gör samma sak snabbare, i alla fall om du använder automatisk ifyllning med TAB-tangenten (till vänster på tangentbordet). Efter /inf trycker man TAB och likaså efter /info/k och /info/kurser/d osv. Glöm inte punkten sist i kommandot - den låter filen behålla namnet Spel.java. Kolla med ls att kopieringen fungerat.

Kompilera javafil!

Kompileringskommandot är javac Spel.java och om det lyckas skapar det en eller flera class-filer. I det här fallet får man i stället felmeddelandet
   Undefined variable or class name: Mio  
eftersom Mio.GetInt används av Spel.java. Kopiera därför över även Mio.java och försök sedan exakt samma kompileringskommando igen. Nu skapas filerna FirstTo21.class och GissaTalet.class.

När man ska göra om samma eller nästan samma kommando som man gjort för inte så länge sedan använder man pilupptangenten en eller flera gånger. I det kopieringskommando du gav nyligen behöver du till exempel bara ändra Spel till Mio (använd vänsterpilen!).

Kör javaprogram!

Ge kommandot
   java FirstTo21
och försök vinna i spelet. Om det inte lyckas kan ni försöka java GissaTalet i stället. Eventuella vinster kan hämtas hos rektorn efter labbens slut.

Öppna nu filen Spel.java i Emacs och försök förstå lite av javakoden. Först står författarnamn och datum - sätt in egna namn i stället. Byt namn på dom båda klasserna, exempelvis till WinLaser och VinnLaser. Ändra slutligen koden så att programmen uppför sej så här (alla tal vinner):

   Guess a number: 72651                   Gissa ett tal: 17
   Correct, you just won a ruby laser!     Rätt, du vann en rubinlaser!
Ni får sudda bort hela whileslingan utom själva Mio.GetInt-raden och ändra i utskrifterna, sedan är det klart. Spara den ändrade filen, kompilera den och provkör era program. Skriv sedan ut filen på papper, ta hem den och visa upp den för alla människor! Ni har ju just skrivit två egna javaprogram!

Logga ut och in!

Labbkamraten måste först logga in för att kunna registrera sej på kursen med
   module add resultat
   res checkin datalogi00
Gör sedan en länk till er gemensamma datalogikatalog med kommandot
   ln -s ~e98_dum/datalogi 
om e98_dum är den användare där katalogen finns. Det lilla spanska tecknet tilde sätts före användarnamn för att beteckna hemkatalogen.

Kolla nu att labben godkänts med

   res show datalogi00
och logga i så fall ut och gå hem!
Sidansvarig: <henrik@nada.kth.se>
Senast ändrad 16 januari 2000
Tekniskt stöd: <webmaster@nada.kth.se>