[JS] Finde den Fehler nicht

07/05/2011 20:26 DerPanda187#1
Guten Tag. Ich schreibe morgen eine wichtige Prüfung in Informatik.
Unter anderem wird auch Javascript abgefragt. Und ich hatte vorher auch noch nie mit JS zu tun. Ich hoffe ihr findet den Fehler. Aus der Fehler-Konsole werd ich auch nicht schlau. Anscheinend habe ich was in der While-Schleife falsch gemacht. Aber ich weiß immer noch nicht was.
Hier ist der Code:


Bedanke mich im Vorraus.
Peace!
07/05/2011 20:35 Cholik#2
Code:
<html>
<head><title>Altersüberprüfung</title></head>
<body>

<script type="text/javascript">

function Ratespiel() {
  var eingabe = window.prompt ("Hallo und Herzlich Willkommen bei unserem Ratespiel. Du kannst nun eine Zahl zwischen 1 und 10 raten. Du hast insgesamt 3 Versuche", " ");
  var zufall = Math.floor(Math.random()*10+1);
  var versuche = 1;

  while ((eingabe != zufall) && (versuche != 3))
  {
      eingabe = window.prompt ("Leider hast du falsch geraten. Versuch es doch erneut..", " ");
	  versuche++;
  }
  alert("Entweder du hast richtig geraten --Glückwunsch-- oder du hast deine Versuche verbraucht --Lade doch einfach die Seite neu ;)--");
}


function Ueberpruefung() {
  var eingabe = window.prompt ("Hallo und Herzlich Willkommen. Bitte geben sie hier ihr Geburtsjahr an:", " ");
  var zahl = 1;

  while (eingabe > "1993" && zahl != 3) {
      eingabe = window.prompt ("Sie sind nicht dem Alter entsprechend.");
	  zahl++;
  }
  alert("Sie haben nun vollen Zugriff auf diese Seite!");
}

</script>

<a href="javascript:Ueberpruefung()">Bitte hier klicken für die Anmeldung</a><br>
<a href="javascript:Ratespiel()">Bitte hier klicken für unser Ratespiel!</a>

</body>
</html>
Script war weder im head noch im body und n Fehler bei der while-Schleife hab ich gesehen. Habs nich weiter durchgetestet aber so startet es schonmal.
07/05/2011 20:42 DerPanda187#3
Ok. Soweit hab ichs verstanden. Und es funktioniert auch.
Nur bei dem 2.Function habe ich ja auch keine doppelte Klammer um die Funktion in der While-Schleife gemacht und die funktioniert einwandfrei.

while (eingabe > "1993" && zahl != 3) {

Aber in dem Ratespiel() müssen Zwei Klammern. Könntest du mir erklären, warum? Oder ist das einfach so?

while ((eingabe != zufall) && (versuche != 3))
07/05/2011 20:48 Cholik#4
Achso ne ich mache das aus Schönheitsgründen generell immer, ist übersichtlicher und gibt auch einige andere Sprachen die da etwas pingelig sind meine ich in Erinnerung zu haben, bei Javascript macht es an sich keinen Unterschied, wie gesagt nur einfacher zu lesen.
Bei dir war vor dem while noch ein "{" und am Ende der Zeile ein ";" daher warf das zusätzlich Fehler, also hab ich das in "meinem" Stil nochmal neu aufgeschrieben.