oefening raadspelletje

Status
Niet open voor verdere reacties.
Error: invalid XML name
Source File: file:///tmp/Raadseltje.html
Line: 30, Column: 7
Source Code:
case < 0 || > bovengrens :
Deze foutmelding krijg ik in de Error Console van Firefox bij het laden van de pagina.

Een switch werkt alleen met getallen:
[js]switch(waarde)
{
case 0: // iets
break;
case 1: // iets anders
etc.
}[/js]

In jouw geval
[js]switch(gokWaarde) {
case < 0 || > bovengrens :
alert("Het getal moet tussen de gekozen grenzen liggen!!");
break;
case = gokGetal :
alert("U hebt het getal geraden, het getal was: " + gokGetal);
break;
case < gokGetal :
alert("Het getal dat u hebt gegokt is te klein, probeer nog eens!);
break;
case > gokGetal :
alert(""Het getal dat u hebt gegokt is te groot, probeer nog eens!);
break;
}[/js]
voldoe je hier niet aan. Je kan beter gebruik maken van if's:
[js]if (gokwaarde < 0 || gokwaarde > bovengrens)
{
alert("Het getal moet tussen de gekozen grenzen liggen!!");
}
else if (gokwaarde == gokGetal)
{
alert("U hebt het getal geraden, het getal was: " + gokGetal);
}
etc.[/js]

Overigens kloppen bij de laatste twee "alert"s de aanhalingstekens niet (geen afsluitende en bij de laatste twee aan het begin).
 
Daarnaast krijg ik ook een waarschuwing over jouw if-statement van de keuze
Jouw geval:
[JS]...
if (keuze = "1") {
...
} else if (keuze = "2") {
...[/JS]
Normaal zou je in een if-statement een vergelijking doen en dit is een toekenning. Het zou kunnen maar dit kan ongewenste situaties opleveren.

Dit zou normaal zou moeten:
[JS]...
if (keuze == "1") {
...
} else if (keuze == "2") {
...[/JS]

Maar nog maals zou het kunnen in jou geval maar weet niet zeker of het jou bedoeling is

groeten vreugde
 
De reden dat het niet werkt is omdat "gokGetal" in de functie "nieuw" wordt gedeclareerd. Buiten deze functie bestaat de variabele niet. De makkelijkste oplossing is om van "gokGetal" een globale variabele te maken. Weliswaar worden globale variabelen doorgaans als iets slechts gezien, maar in dit geval kan ik geen betere oplossing bedenken.
Zet de volgende code boven de functie nieuw:
[js]var gokGetal;[/js]
en vervang de regel [js]var gokGetal = Math.ceil(getal);[/js] door [js]gokGetal = Math.ceil(getal);[/js]
Hierna kan je "gokGetal" in alle functies gebruiken.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan