|
< Lotterie 2 >
Verschiedene Zufallszahlen mit WMLScript erzeugen, sortieren, mit den Eingabezahlen vergleichen und die Anzahl der Richtigen ausgeben.
WAP-Standard: 1.1+
Lotterie 1: Einfache Ausgabe.
Lotterie 3: Animierte Ausgabe.
lotterie2.wml
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="c1" title="Lotterie 2">
<p>6 Zahlen (1-49)<br/>5 Leerzeichen</p>
<p>
<input name="Z"/>
<a href="lotterie2.wmls#L('$(Z)')">Los</a>
</p>
</card>
<card id="c2" title="Lotterie 2">
<p>$(z0) $(z1) $(z2) $(z3) $(z4) $(z5)
<br/>Zusatzzahl: $(z6)
<br/>$(R)
</p>
<p>
<a href="lotterie2.wmls#L('$(Z)')">Los</a>
<a href="lotterie2.wml">Neu</a><br/>
</p>
</card>
</wml>
In lotterie2.wml nimmt Z die Eingabezahlen auf und übergibt sie auf 'Los' an die Funktion L().
lotterie2.wmls
extern function L(Z) {
// Z sind die getippten Zahlen
var i,r,k,R=0,x,z,lz = "1";
for(i=2;i<50;i++) lz += " "+i;
// i, r, k und x sind Hilfsvariablen. R=Richtige
// z ist das Array für die gezogenen Zahlen.
// lz = "1 2 3 ... 49" ist das Array der Lotterie-Zahlen.
//Zahlen ziehen
for(i=0;i<7;i++) {
r = Lang.random(48-i);
if(i<0) z += " "+val(lz,r);
else z = val(lz,r);
lz = String.removeAt(lz,r," ");
}
//Zahlen in die richtige Reihenfolge bringen
for(i=0;i<5;i++) {
for(k=i+1;k<6;k++) {
if(val(z,i)<val(z,k)) {
x = val(z,i);
z = rep(z,i,val(z,k));
z = rep(z,k,x);
}
}
}
//Ziehungs-Ergebnis dem WMLBrowser bekannt machen
for(i=0;i<7;i++) WMLBrowser.setVar("z"+i, val(z,i));
//Richtige ermitteln
for(i=0;i<6;i++) {
for(k=0;k<6;k++) {
if(val(z,i)==val(Z,k)) R += 1;
}
}
//Bei fünf Richtigen auf Zusatzzahl prüfen
if(R==5) {
for(k=0;k<6;k++) {
if(val(z,7)==val(Z,k)) R = R + " + 1";
}
}
//Tipp-Ergebnis dem WMLBrowser bekannt machen
WMLBrowser.setVar("R", "Richtige: " + R);
//Ergebnis anzeigen
WMLBrowser.go("lotterie2.wml#c2");
}
//Mit rep() wird im Array a der i-te Wert durch v ersetzt.
function rep(a,i,v) {
return String.replaceAt(a,v,i," ");
}
//Mit val() wird im Array a der i-te Wert ausgelesen.
function val(a,i) {
return Lang.parseInt(String.elementAt(a,i," "));
}
Als interessante Erweiterung könnte man noch eine Gewinnmöglichkeit einbauen.
Download Lotterie.zip (Versionen 1-3 ca. 4 kb)
Copyright © 2002-2003 by wmlscript.de - Alle Rechte vorbehalten
Impressum | Datenschutz | eMail
|