You are not logged in.

  • Login

1

Wednesday, January 18th 2012, 9:13am

javascript zufallsspiel

wir sollten in der Schule ein programm erstellen welches eine zahl zwischen 1 und 50 erstellt und ich habe da ein problem:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Schaltjahresrechner</title>
<script>
<!--
function rnd() {
  var rnd = (math.round(math.random()*49)+1);
  var zael = 0;
  var zahl = document.eingabe.nummer1.value;
  for(zael;zael>5;zael++)
  {
  if(rnd==zahl)
  {
  alert("Deine Zahl ist Richtig!");
  }
    else if(rnd>zahl)
  {
  alert("Deine Zahl ist zu Klein!");
  }
    else if(rnd<zahl)
  {
  alert("Deine Zahl ist zu groß!");
  }
 }}
//-->
</script>
</head>
<body>
<form name="eingabe">
Zahl zwischen 1 und 50 eingeben: <Input name="nummer1" type="number" size="2" maxlength="2">
<Input type="button" value="berechnen" onclick="rnd()"><br/>
</form>
</body>
</html>


Selbst wenn ich direkt unter dem var rnd die zahl per alert ausgeben möchte macht er es nicht.

2

Wednesday, January 18th 2012, 2:32pm

Das M von Math muss groß geschrieben werden.
Der restliche Code sieht auch nicht richtig aus, aber da weißt du sicher am besten was du eigentlich willst.

3

Wednesday, January 18th 2012, 6:17pm

Danke es war der Fehler nur war, wie schon gesagt, das ganze Programm falsch nun habe ich es komplett überarbeitet aber es geht wieder nicht...
Wo war nun der denk fehler?

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Zahlenraten</title>
<script>
<!--

  var rnd = (Math.round(Math.random()*49)+1);
  var zael = 0;
  function rnd()
  {
  var zahl = document.eingabe.nummer1.value;
  if(zael == 4)
  {
  alert("Du hast das Spiel leider verloren die Zahl war" + rnd + " !");
  rnd = (Math.round(Math.random()*49)+1);
  zael = 0;
  }
  if(zahl>50)
  {
  alert("Du solltest doch eine Zahl eingeben die die zwischen 1 und 50 liegt!");
  }
  if(zahl==0)
  {
  alert("Du solltest doch eine Zahl eingeben die die zwischen 1 und 50 liegt!");
  }
  if(zahl>rnd)
  {
  alert("Deine Zahl ist zu groß!");
  zael++;
  }
  if(zahl<rnd)
  {
  alert("Deine Zahl ist zu klein!");
  zael++;
  }
 if(zahl=rnd)
  {
  alert("Du hast gewonnen, ein neues Spiel wird gestartet!");
  rnd = (Math.round(Math.random()*49)+1);
  zael = 0;
  }}
 
 //-->
</script>
</head>
<body>
<form name="eingabe">
Zahl zwischen 1 und 50 eingeben: <Input name="nummer1" type="number" size="2" maxlength="2">
<Input type="button" value="berechnen" onclick="rnd()"><br/>
</form>
</body>
</html>

4

Wednesday, January 18th 2012, 6:44pm

var rnd = (Math.round(Math.random()*49)+1);
var zael = 0;


müssen innerhalb der Funktion rnd() stehen.
Da du ja die rnd() mit dem Button aufrufst führt er die aus,
aber die Variablen rnn und zael sind der Funktion nicht bekannt.

5

Wednesday, January 18th 2012, 6:51pm

Ich kann nobody special leider nicht zustimmen.
Das passt schon wie du das gemacht hast.

Nur zwei Kleinigkeiten:
1. Benenne die Methode um. Sie heist momentan genauso wie die Vareable "var rnd". Das verträgt sich nicht.
2. if(zahl=rnd) Da fehlt was, sonst ist das eine Zuweisung.

6

Wednesday, January 18th 2012, 7:55pm

Danke jetzt geht es, solche flüchtigkeitsfehler passieren mir leider immer wieder^^.
Jo das stand extra ausserhalb der function da er ja nicht immer bei dem button klick eine neue Zahl machen soll sondern nur am anfang oder am ende des spiels.

7

Thursday, January 19th 2012, 4:28pm

Ops, mein Fehler^^

Similar threads

Social bookmarks