High!
Lotto-Simulation, die Zweite... der Code:
<html>
<head>
<title>Lotto-Simulation 6 aus 49</title>
<script type="text/javascript">
function check(wert)
{
var flag = true;
if (isNaN(wert) || wert < 1 || wert > 49)
{
flag = false;
alert("Bitte geben Sie eine Zahl zwischen 1 und 49 ein!");
}
else
{
var j = 0;
while (j < tip.length)
{
if (j > 0)
{
var k = 0;
while (k < j)
{
if (wert == tip[k])
{
flag = false;
alert("Diese Zahl haben Sie bereits getippt. Bitte geben Sie eine andere Zahl zwischen 1 und 49 ein!");
break;
}
k++;
}
}
if (flag == false) break;
j++;
}
}
return flag;
}
function tippe()
{
if (window.document.tip) delete tip;
tip = new Array(6);
var i=0;
while (i < 6)
{
if (!check(window.document.forms[i].elements[0].value))
{
window.document.forms[i].reset();
}
tip[i] = window.document.forms[i].elements[0].value;
i++;
}
}
function ziehe()
{
if (window.document.ziehung) delete ziehung;
ziehung = new Array(7);
var i=0;
while (i < 7) // mit Zusatzzahl!
{
if (i > 0)
{
var j = 0;
while (j < i)
{
do
{
ziehung[i] = Math.floor(Math.random() * 49 + 1);
alert(ziehung[i]);
}
while (ziehung[i] == ziehung[j]);
j++;
}
}
else ziehung[i] = Math.floor(Math.random() * 49 + 1);
i++;
}
ziehung.sort();
document.write(ziehung[4]);
document.write("Gezogen wurden:<br><br>");
for (i = 0; i < 7; i++)
{
if (i == 6) document.write("Zusatzzahl: ");
document.write(ziehung[i] + "<br>");
// document.write("Bla! ");
}
}
</script>
</head>
<body>
Geben Sie bitte sechs Zahlen zwischen 1 und 49 ein!<br>
<table>
<tr>
<td width="50"><form><input type="text" size="2" maxlength="2"></form></td>
<td width="50"><form><input type="text" size="2" maxlength="2"></form></td>
<td width="50"><form><input type="text" size="2" maxlength="2"></form></td>
<td width="50"><form><input type="text" size="2" maxlength="2"></form></td>
<td width="50"><form><input type="text" size="2" maxlength="2"></form></td>
<td width="50"><form><input type="text" size="2" maxlength="2"></form></td>
</tr>
<tr>
<td colspan="3"><input type="button" name="tippen" value="Tippen!" onclick="tippe()"></td>
<td colspan="3"><input type="button" name="ziehung" value="Ziehung starten!" onclick="ziehe()"></td>
</tr>
</table>
</form>
</body>
</html>
So weit, so gut... tippe() funktioniert jetzt einwandfrei, was aber beim besten Willen nicht klappt, ist die Ausgabe des Arrays "ziehung" - nach "Gezogen wurden:" werden keine Werte ausgegeben, die Ladeanzeige im Browser läuft und läuft, und die Konsole gibt die Fehlermeldung aus "ziehung is not defined (line 84)", wobei line 84 die Zeile document.write(ziehung[i] + "<br>"); in ebendieser Ausgabeschleife ist!
Ich bin mal wieder völlig mit meinem Latein am Ende...
Bis bald,
Yadgar