Materialien zum Unterricht

Zahlenraten

Es soll ein kleines Spiel programmiert werden: Der Rechner denkt sich eine Zahl zwischen 1 und 100 aus, zeigt sie uns aber nicht. Der Spieler soll diese Zahl erraten. Dazu gibt er eine Zahl ein und der Rechner sagt uns, ob diese Zahl kleiner oder größer als die geheime Zahl ist. Das geht so lange, bis die richtige Zahl erraten wurde. Die notwendigen Versuche werden gezählt.

Das Programm lässt sich in zwei Teile (Funktionen) zerlegen.

  1. Eine JavaScript-Teil bestimmt die zu ratende Zahl und trägt sie in ein verstecktes Formularfeld ein
  2. Die zweite Funktion wird durch einen Button aufgerufen und vergleicht die eingegeben Zahl mit der Geheimzahl. Das Ergebnis der Vergleiche bestimmt die Ausgabe in einem weiteren Formularfeld. Gleichzeitig zählt es den Zähler weiter.

Damit ist klar: wir brauchen ein Formular, dass drei einzeilige Eingabefelder, ein verstecktes Feld und einen Button enthält.

Erzeuge als erstes dieses Formular.

Verwende dazu folgende ID's:

Das versteckte Feld wird zu Beginn noch sichtbar gemacht. Damit kann überprüft werden, ob die erste Funktion funktioniert.

1. Zufallszahl bestimmen

Das Ermitteln einer Zufallszahl wird in einem JavaScript-Teil unterhalb der Eingabefelder durchgeführt.

Die Methode zum Berechnen einer Zufallszahl lautet:

Math.random()

Lass als erstes in das Feld merker eine Zufallszahl eintragen.

Damit der Zahlenbereich bis 100 erreicht wird, muss die ermittelte Zahl noch mit 100 multipliziert und in eine Ganzzahl umgewandelt werden.
Das Umwandeln erfolgt so, dass die ermittelte Zahl in die nächsthöhere Ganzzahl umgewandelt wird. Informiere dich bei SELFHTML über diese Methode aus dem Objekt Math.

Als letztes wird in das Feld zaehler noch eine 0 eintragen.

Damit sind alle Vorbereitungen zum Spielen getroffen und der Spieler gibt in das Feld aktuell eine Zahl ein. Danach drückt er den Button und hofft, dass er richtig geraten hat. Die Überprüfung nimmt nun die Funktion test() vor.

2. Test der eingegeben Zahl

Als erstes wird der Inhalt des Feldes zaehler in einer Variable z abgelegt, dann diese Variable um eins erhöht und der Inhalt in das Feld zurückgeschrieben.

Das Erhöhen um eins geht so:
z=z+1;
oder so:
z++;

Danach muss der Vergleich vorbereitet werden. Die Inhalte der Felder aktuell und merker sind in den Variablen a und m abzulegen.

Der erste Vergleich prüft, ob die beiden Zahlen richtig sind. Dann soll das im Feld ergebnis kund getan werden:
$('#ergebnis').val("Richtig");

Wenn nicht, wird ein zweiter Vergleich durchgeführt, der prüft, ob die eingegebene Zahl kleiner als die Geheimzahl ist. Wenn ja, kommt in das Feld ergebnis der entsprechende Hinweis:
$('#ergebnis').val("Deine Zahl ist zu klein");

Ein dritter Vergleich ist nicht nötig, da jetzt nur noch ein Fall übrig bleibt:
$('#ergebnis').val("Deine Zahl ist zu groß");

3. Testlauf

Teste dein Programm.

zurück