Övningar i JavaScript – på egen hand – del 2

Medieteknik
Övningar i JavaScript – på egen hand – del 2 Här ges ett antal övningar som du kan genomföra för att testa dina kunskaper efter introduktionen av
JavaScript. Stöter du på problem, så kan du gå tillbaks till motsvarande avsnitt i steg-för-stegövningarna.
Utgå från filerna i mappen som du kan ladda ner på laborationens webbsida. Börja med att orientera
dig i koden i dessa filer. Du ska sedan genom övningarna skapa ett enkelt spel, där ett slumptal
genereras och användaren ska gissa talet.
1. Globala variabler för några taggar
•
•
Inför variablerna inText, resultTag och pictureTag som globala variabler.
I funktionen init tilldelar du dessa variabler, så att de refererar till taggarna med id-attributen
inText, result respektive picture.
2. Funktion för slumptal
•
•
•
•
Skapa en funktion kallad newRandom. Den ska ha en parameter kallad high.
Generera ett slumptal mellan 1 och high och spara det i en lokal variabel.
Returnera sedan variabelns innehåll.
Du kan inte se något resultat ännu, så du testar funktionen i nästa steg. Men öppna ändå sidan i
webbläsaren, för att kontrollera att du inte får några fel i Firebug. (Kontrollera samtidigt att
Firebug också är aktiverat.)
3. Funktion för nytt spel
Denna funktion skapar du i två steg. Först ska du endast generera slumptal och skriva ut dem, för att
kontrollera att slumptalsgenereringen fungerar. Sedan ändrar du funktionen, så att ett par globala
variabler tilldelas.
Test av slumptalsgenerering •
•
•
•
•
Skapa en funktion kallad newGame. Den ska inte ha någon parameter.
I funktionen anropar du newRandom med parametervärdet 10 och sparar det returnerade värdet i
en lokal variabel.
Skriv ut variabelns värde i resultTag.
I HTML-koden lägger du till ett onclick-attribut i knappen "Nytt spel" och anropar funktionen
newGame.
Klicka några gånger på knappen och kontrollera att det skrivs ut slumptal mellan 1 och 10.
Förändra funktionen till spelet Slumptalet ska sedan kontrolleras mot användarens gissning i en annan funktion. För att du där ska
kunna använda värdet, måste slumptalet sparas i en global variabel. Du ska också räkna antalet
felgissningar i en global variabel.
•
•
•
•
•
•
Inför randomNumber och guessCounter som två globala variabler. Du kan initialt sätta deras
värden till 0.
I funktionen newGame ändrar du så att det returnerade värdet från newRandom sparas i den
globala variabeln randomNumber.
Lägg också till en rad där du sätter guessCounter till 0, så att räknaren börjar om från 0 varje gång
ett nytt spel inleds.
Lägg också till en alert-sats med ett meddelande om att ett nytt slumptal nu genererats.
Ta bort raden för utskriften i resultTag.
Testa i webbläsaren, för att kontrollera att du inte får några fel i Firebug.
2012-10-22 – Rune Körnefors ([email protected])
1
Medieteknik
4. Funktion för att kontrollera användarens gissning
Nu ska du i ett antal steg skapa funktionen för kontroll av gissningar.
Läs in gissning och kontrollera att det är ett tal •
•
•
•
•
•
Skapa en ny funktion kallad checkGuess, utan någon parameter.
Lägg in ett onclick-attribut i knappen "Kontrollera gissning", så att funktionen anropas.
Spara innehållet i inText i en lokal variabel kallad guess.
Kontrollera i en if-sats att guess är ett tal. Om det inte är det lägger du in ett felmeddelande i
variabeln resStr.
Sist i funktionen skriver du ut resStr i resultTag.
Testa i webbläsaren.
Jämför gissningen med det genererade slumptalet •
•
•
Kontrollera i en if-sats om guess är lika med randomNumber.
Om de är lika sätter du resStr till "Rätt" annars till "Fel".
Testa i webbläsaren.
Räknare för antal felaktiga gissningar •
•
•
•
I else-delen om gissningen är fel, inför du ytterligare en rad för att räkna upp den globala variabeln
guessCounter med 1.
Ta med guessCounter i meddelandet i resStr, så att det skrivs "1 fel", "2 fel", etc. beroende på hur
många fel det är.
Lägg också till en if-sats där gussCounter kontrolleras. Om variabeln är lika med 5 ska
meddelandet i resStr ändras, så att det säger att man gissat fem gånger och rätt svar skrivs ut med
variabeln randomNumber.
Testa i webbläsaren.
5. Visa en bild
Om svaret är rätt ska användaren belönas med en bild på en blomma.
Funktion för att visa en slumpmässigt vald bild •
•
•
Skapa en funktion kallad showFlower, utan någon parameter.
I funktionen anropas newRandom med parametern 3 (det finns tre olika bilder). Värdet sparas i en
lokal variabel.
Referera till pictureTag och byt ut bilden. Sätt samman filnamnet med hjälp av värdet i variabeln
med slumptalet.
Använd funktionen •
•
Anropa funktionen showFlower då svaret är rätt i funktionen checkGuess.
Testa i webbläsaren.
Ta bort bilden då ett nytt spel startas •
•
I funktionen newGame lägger du till en rad som refererar till pictureTag och lägger in bilden
"transparent.gif".
Testa i webbläsaren.
2012-10-22 – Rune Körnefors ([email protected])
2