Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Numeron arvaus (JavaScript)

tuomas11 [28.10.2006 18:29:48]

#

Hei, Tein yksinkertaisen numeron arvaus-ohjelman. Tämä toimii muuten moitteetta, mutta jos arvausten lukumäärä kasvaa yli 20:nen (tarkkaa lukua en tiedä) niin ohjelma ei enää lopuksi näytäkään käyttäjän arvausten lukumäärää. Minulla ei ole aavistustakaan siitä, että mistä tämä johtuu. Päivällä se sitä paitsi toimi ihan hyvin. Jos joku keksii syyn tähän ongelmaan niin olisin todella kiitollinen. Koodi on tässä:

<script>
var i=0
var ConfigNum = window.prompt("Kirjoita tähän ensimmäisenä mieleen tuleva numero")
var RightNum =ConfigNum*4-4+2-1+5
var GuessNum;

do
{

GuessNum=prompt("Arvaa mikä on oikea numero");
 if (GuessNum < RightNum) {
 window.alert("Liian pieni")
 i++;
}
 if (GuessNum == RightNum) {
 window.alert("Oikein")
 i++;
} if (GuessNum > RightNum) {
 window.alert("Liian suuri")
i++;
}

}
while(GuessNum!=RightNum) {

}
 if (i == 1) {
 window.alert("Tarvitsit vain "+i + " arvauksen löytääksesi oikean luvun. Olet ilmiömäinen!!! Oikea luku oli siis " + RightNum + ".")
}
 if (i > 1 && i <= 10) {
  window.alert("Tarvitsit yhteensä "+i + " arvausta löytääksesi oikean luvun. Hyvä tulos! Oikea luku oli siis " + RightNum + ".")
}
 if (i > 10 && i <= 20) {
  window.alert("Tarvitsit yhteensä "+i + " arvausta löytääksesi oikean luvun. Keskitasoa alempi tulos. Oikea luku oli siis " + RightNum + ".")
}
 if (i > 20) {
  window.alert("Tarvitsit yhteensä "+i + " arvausta löytääksesi oikean luvun. Huono! Oikea luku oli siis " + Rightnum + ".")
}
</script>

Antti Laaksonen [28.10.2006 18:42:16]

#

Taisin löytää syyn ilmiöön. Olet kirjoittanut viimeiseen kohtaan (i > 20) muuttujan nimeksi Rightnum, vaikka oikea nimi on RightNum. Tämän takia JavaScript-tulkki ei tunnista muuttujaa, ja skriptin suoritus päättyy virheeseen. Muuttujien nimissä siis isoilla ja pienillä kirjaimilla on merkitystä.

tuomas11 [28.10.2006 19:48:16]

#

Kiitokset paljon! Nyt toimii.

Olga [29.10.2006 20:15:37]

#

Useimmissa nykyaikaisissa selaimissa on kätevä JS-konsoli, josta nuo virheet on helppo havaita.

Lebe80 [30.10.2006 14:44:22]

#

ihana looppi:
while(GuessNum!=RightNum) {

}

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta