Zufallszahl 02-A
    


home

Quellcode 1  Quellcode 2  ZURÜCK SITEMAP  

 Zufallszahl 02-A

Beispiel zur Erzeugung einer ganzzahligen Zufallszahl innerhalb eines festgelegten Bereichs, z.B. zwischen -100 und +100.

Nachdem ich mich an einem ähnlichen Sript versucht hatte fand ich heraus, das es längst etwas Besseres gibt (wie so oft). Also habe ich mein Beispiel gelöscht und damit der Link nicht tot ist, Dave's Beispiel hier eingetragen.

Dave's Random Number Generator is © 2001 dave@jupiterduo.com

Zufallszahl zwischen X (einschließlich) und Y (einschließlich)

 23.01.2008, Formular zum Dialog

Das Script kann innerhalb ihrer Anwendung genutzt werden und gibt als Ergebnis eine Zusatzzahl zur Weiternutzung zurück. Die Ermittlung der Zufallszahl kann aber auch über einen Userdialog gesteuert werden. Dann wird der gültige Zahlenbereich über eine Eingabe (Formular) abgefragt werden. Für dieses Eingabeformular habe ich folgende Änderungen vorgenommen:
  • Erfassen der Eingaben durch getElementById
  • Ist das Eingabefeld leer?
  • ist die Eingabe eine Zahl?
  • ist die Eingabe eine Kommazahl?
  • Prüfung Minimalwert > Maximalwert
  • farbliche Kennzeichnung des Eingabefeldes bei Fehler
  • Erneute Eingabe bei Fehler erzwungen
  • Curser in das Feld setzen bei Neuberechnung
  • Ausgabe des Ergebnisses durch getElementById
Meine Änderungen zur Prüfung und Filterung der Eingaben sind wichtig, um Fehlfunktionen weitgehend auszuschließen.



   1) Zufallszahl ermitteln mit Dialog  (Quellcode 1)

unterer Bereich, Mindestwert:
oberer Bereich, Maximalwert:
Ergebnis:
 

Sie können die Funktion natürlich ohne Eingabeformular einsetzen, das hier lediglich zur Demonstration dargestellt wird. Zwei Eingaben werden erwartet:
  • unterer Wert
  • oberer Wert



   2) Zufallszahl ermitteln ohne Dialog  (Quellcode 2)

Die Funktion randInt(min, max) ist für den Einsatz zur Erzeugung einer Zufallszahl gut geeignet. Mit 'return' wird das Ergebnis weiter gegeben.

Dave's Random Number Generator is © 2001 dave@jupiterduo.com

function randInt(min,max)
{
   var div = (max - min) + 1
   var randNum = Math.random()
   for (var i = 0; i <= div - 1; i++)
      {
      if (randNum >= i / div && randNum < (i+1) / div)
      {return i + min}
      }
}



   Beispiele für den Einsatz

Ein Zufallsbild anzeigen, einen Zufallstext anzeigen, eine Zufallslink anzeigen, ... .
Die ermittelte Zufallszahl kann in vielen Bereichen eingesetzt werden. Beispiele dazu finden sie in den Menüs 'Bilder' und 'Spielkram'.


a) Um eine Zahl zwischen 1 und 12 zu finden:

<script type="text/javascript" language="JavaScript">
<!--
randInt(1,12);
//-->
</script>



b) Um eine Zahl zwischen 1 und 12 zu schreiben
<script type="text/javascript" language="JavaScript">
<!--

// schreibt die Zufallszahl in das Dokument
document.write("Das gerade ermittelte Ergebnis: " + randInt(1,12));

//-->
</script>


c) Um eine Zahl zwischen 5 und 50 zu finden:

<script type="text/javascript" language="JavaScript">
<!--
randInt(5,50);
//-->
</script>



d) Um eine Zahl zwischen 5 und 50 zu schreiben
<script type="text/javascript" language="JavaScript">
<!--

// schreibt die Zufallszahl in das Dokument
document.write("Das gerade ermittelte Ergebnis: " + randInt(5,50));

//-->
</script>






22.12.2001   

NACH OBEN