CGMAX
Neues Mitglied
Wenn man einen Bildgenerator erstellen möchte, der verschiedene Bilder zufällig auswählen und anzeigen soll, ohne dass diese sich wiederholen ist dieses script ein guter Anfang.
<script type="text/javascript">
<!--
function rand(range)
{
return Math.ceil(Math.random() * 1000) % range ; //Zahlen von 0 bis z in ganzzahligen werten
}
startbilder = new Array("img1.png","img2.png","img3.png","img4.png","img5.png"); //Bilder müssen existieren
var z = startbilder.length; //gibt Elementenmenge an, die in Array gespeichert sind
var zz1= rand(z); //gibt zufallszahl aus der Menge der Elemente an sihe oben
gez_bild = startbilder[zz1] //deffiniert element aus Array durch zufallszahl
do
{
var zz2= rand(z); //gibt zufallszahl aus der Menge der Elemente an sihe oben
gez_bild2 = startbilder[zz2] //deffiniert element aus Array durch zufallszahl
do
{
var zz3= rand(z); //gibt zufallszahl aus der Menge der Elemente an sihe oben
gez_bild3 = startbilder[zz3] //deffiniert element aus Array durch zufallszahl
do
{
var zz4= rand(z); //gibt zufallszahl aus der Menge der Elemente an sihe oben
gez_bild4 = startbilder[zz4] //deffiniert element aus Array durch zufallszahl
do
{
var zz5= rand(z); //gibt zufallszahl aus der Menge der Elemente an sihe oben
gez_bild5 = startbilder[zz5] //deffiniert element aus Array durch zufallszahl
}
while(zz1==zz5|zz2==zz5|zz3==zz5|zz4==zz5)
}
while(zz1==zz4|zz2==zz4|zz3==zz4)
}
while(zz1==zz3|zz2==zz3)
}
while(zz1==zz2)
document.write("<img src='img/"+gez_bild+"'>"); //gibt bild aus
document.write("<img src='img/"+gez_bild2+"'>"); //gibt bild aus
document.write("<img src='img/"+gez_bild3+"'>"); //gibt bild aus
document.write("<img src='img/"+gez_bild4+"'>"); //gibt bild aus
document.write("<img src='img/"+gez_bild5+"'>"); //gibt bild aus
//-->
</script>
Leider lässt sich dieses nicht ohne extra viel Tipparbeit erweitern.Dafür müsste man ein neues Element ins Array schreiben(das war der un aufwendige Teil). Danach muss man eine neue do-schleife einfügen (in die letze Anweisung), diese muss die gleiche Anweisung wie die anderen haben. (natürlich mit anderen werten zz5 etc.). Zudem muss man in der Bedingung die Werte nach den Gleichzeichen verändern(hier zz5 in zz6). Ganz zum Schluss noch die letze Bedingung hinzufügen (hier zz5==zz6) natürlich mit einem logischen oder verknüpfen. Sollte einer von euch eine bessere und benutzerfreundliche Variante kennen schreibt es in die Kommentare. Würde mich freuen.MfG Max Dio
<script type="text/javascript">
<!--
function rand(range)
{
return Math.ceil(Math.random() * 1000) % range ; //Zahlen von 0 bis z in ganzzahligen werten
}
startbilder = new Array("img1.png","img2.png","img3.png","img4.png","img5.png"); //Bilder müssen existieren
var z = startbilder.length; //gibt Elementenmenge an, die in Array gespeichert sind
var zz1= rand(z); //gibt zufallszahl aus der Menge der Elemente an sihe oben
gez_bild = startbilder[zz1] //deffiniert element aus Array durch zufallszahl
do
{
var zz2= rand(z); //gibt zufallszahl aus der Menge der Elemente an sihe oben
gez_bild2 = startbilder[zz2] //deffiniert element aus Array durch zufallszahl
do
{
var zz3= rand(z); //gibt zufallszahl aus der Menge der Elemente an sihe oben
gez_bild3 = startbilder[zz3] //deffiniert element aus Array durch zufallszahl
do
{
var zz4= rand(z); //gibt zufallszahl aus der Menge der Elemente an sihe oben
gez_bild4 = startbilder[zz4] //deffiniert element aus Array durch zufallszahl
do
{
var zz5= rand(z); //gibt zufallszahl aus der Menge der Elemente an sihe oben
gez_bild5 = startbilder[zz5] //deffiniert element aus Array durch zufallszahl
}
while(zz1==zz5|zz2==zz5|zz3==zz5|zz4==zz5)
}
while(zz1==zz4|zz2==zz4|zz3==zz4)
}
while(zz1==zz3|zz2==zz3)
}
while(zz1==zz2)
document.write("<img src='img/"+gez_bild+"'>"); //gibt bild aus
document.write("<img src='img/"+gez_bild2+"'>"); //gibt bild aus
document.write("<img src='img/"+gez_bild3+"'>"); //gibt bild aus
document.write("<img src='img/"+gez_bild4+"'>"); //gibt bild aus
document.write("<img src='img/"+gez_bild5+"'>"); //gibt bild aus
//-->
</script>
Leider lässt sich dieses nicht ohne extra viel Tipparbeit erweitern.Dafür müsste man ein neues Element ins Array schreiben(das war der un aufwendige Teil). Danach muss man eine neue do-schleife einfügen (in die letze Anweisung), diese muss die gleiche Anweisung wie die anderen haben. (natürlich mit anderen werten zz5 etc.). Zudem muss man in der Bedingung die Werte nach den Gleichzeichen verändern(hier zz5 in zz6). Ganz zum Schluss noch die letze Bedingung hinzufügen (hier zz5==zz6) natürlich mit einem logischen oder verknüpfen. Sollte einer von euch eine bessere und benutzerfreundliche Variante kennen schreibt es in die Kommentare. Würde mich freuen.MfG Max Dio