Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 17-04-2003, 09:57   #1 (permalink)
Riccardo D.
 
Benutzerbild von timecity
 
Registriert seit: Jul 2001
Beiträge: 61
Question random ohne wiederholung

random ohne wiederholung


Ich scheitere gerade daran eine beliebige Anzahl
(sagen wir mahl 16 )an Zufallszahlen zu erzeugen.
Soweit kein Problem aber
Ohne das diese doppelt auftreten.
Besser gesagt ich habe also 16 Variabeln und
möchte diesen Variabeln Zahlen 1-16 zuweisen.
In beliebiger Reihenfolge und ohne doppelte zahlen.

Hat da einer eine Idee
__________________
Faulpelze sind Leute, die gelernt haben, gleich am Anfang aufzuhören. (Hans Clarin)
----------------------------------

Geändert von timecity (17-04-2003 um 09:58 Uhr)
timecity ist offline   Mit Zitat antworten
Alt 17-04-2003, 10:30   #2 (permalink)
[Matthias K.] - Moderator
 
Benutzerbild von Madokan
 
Registriert seit: Jun 2001
Ort: Berlin/Germany - and the hole World !
Beiträge: 9.971
Vielleicht kannst damit was anfangen:

ActionScript:
  1. Number.zufallOW = function(zahl) {
  2.     var nrListe = new array();
  3.     for (var i = 1; i <= zahl; i++) {
  4.         nrListe[i] = i;
  5.     }
  6.     var zufallList = new array();
  7.     for (var i = nrListe.length - 1; i > 0; i--) {
  8.         var wahl = Math.floor(Math.Random() * i) + 1;
  9.         zufallList[i - 1] = nrListe[wahl];
  10.         nrListe[wahl] = nrListe[i];
  11.     }
  12.     return zufallList;
  13. };
  14.  
  15. trace(Number.zufallOW(5));

Du findest unter www.layer51.com/proto eine Menge zufallsgeneratoren. Den hier hab ich mal eingedeutsch zur Vereinfachung.

Viel Spass und Erfolg!

Liebe Grüsse
Matze K.
Madokan ist offline   Mit Zitat antworten
Alt 17-04-2003, 10:43   #3 (permalink)
Riccardo D.
 
Benutzerbild von timecity
 
Registriert seit: Jul 2001
Beiträge: 61
Funktioniert klasse

hilft schon massig das teil
muss aber da noch durchsteigen Grübel’ Grübel’

Besten dank Madokan
__________________
Faulpelze sind Leute, die gelernt haben, gleich am Anfang aufzuhören. (Hans Clarin)
----------------------------------
timecity ist offline   Mit Zitat antworten
Alt 17-04-2003, 10:46   #4 (permalink)
alien
 
Benutzerbild von Smirgel
 
Registriert seit: May 2002
Ort: Colonia
Beiträge: 7.597
@madokan: das ist gemein. hab letztens genau das gleich versucht. nach nem tag des grübelns, ausprobierens und haare ausreissens habe ich es dranne gegeben.
schönes script, und so kurz. vielen dank
__________________
bei fragen, fragen.
Smirgel ist offline   Mit Zitat antworten
Alt 17-04-2003, 10:50   #5 (permalink)
netTrek
 
Benutzerbild von netTrek
 
Registriert seit: Jul 2001
Ort: 46282 Dorsten
Beiträge: 2.972
Post beliebige (nicht wiederholende) Zufallszahlen in einem Zahlenbereich

Hier noch ein Beispiel bei dem du den Zahlenbereich der Zufallszahlen bestimmen kannst.

ActionScript:
  1. //hilfsfunktion
  2. Array.prototype.rndArray = function (counter, minValue, maxValue) {
  3.     var mylength = this.length;
  4.     while (mylength<counter) {
  5.         var dif = maxValue+1-minValue;
  6.         var rnd = Math.floor(Math.random()*dif+minValue);      
  7.         if (mylength == 0) this.push(rnd);
  8.         else {
  9.             var checker = 0;
  10.             for (var q in this) {
  11.                 if (this[q] == rnd) {
  12.                     checker++;
  13.                     break;
  14.                 }
  15.             }
  16.             if (checker == 0) {
  17.                 this.push(rnd);    
  18.             }
  19.         }
  20.         var mylength = this.length;
  21.     }
  22.     return this;
  23. }
  24. //funktion zum Aufruf
  25. _global.makeRndInt = function (counter, minValue, maxValue, splitter) {
  26.     if (counter-1>maxValue-minValue) return "to large counter";
  27.     var theValues = new Array().rndArray (counter, minValue, maxValue);
  28.     if (splitter != undefined) return theValues.join(splitter);
  29.     else return theValues;
  30. }
  31. // anwendungsbeispiel
  32. trace(makeRndInt(5,96,100));
  33.  
  34. trace(makeRndInt(5,0,10," -&- "));
__________________
Saban Ünlü

netTrek GmbH & Co. KG
Softwareentwicklung, Design & Konzeption
www.netTrek.de
netTrek ist offline   Mit Zitat antworten
Alt 17-04-2003, 10:56   #6 (permalink)
alien
 
Benutzerbild von Smirgel
 
Registriert seit: May 2002
Ort: Colonia
Beiträge: 7.597
supergeil
ach ihr oop-freaks
*thread gebookmarkt*
__________________
bei fragen, fragen.
Smirgel ist offline   Mit Zitat antworten
Alt 17-04-2003, 10:56   #7 (permalink)
God made me funky..
 
Registriert seit: Apr 2003
Ort: Bremen
Beiträge: 1.067
EDIT: Nettrek war schneller

hehe, da hab ich auch noch einen:
ActionScript:
  1. function lotto(r_min,r_max,cnt) {
  2.     if(cnt > r_max) { cnt = r_max; }
  3.     var r = 0;
  4.     var results = new Array();
  5.     for(i = 0; i < cnt; i++) {
  6.         var duplicateFound = false;
  7.         var r =  r_min + Math.round(Math.random()(r_max - r_min));
  8.         for(j = 0; j < results.length; j++) {
  9.             if(results[j] == r) {
  10.                 duplicateFound = true;
  11.                 break;
  12.             }
  13.         }
  14.         if(!duplicateFound) {
  15.             results.push(r)
  16.         } else {
  17.             i--;
  18.         }
  19.     }
  20.     return results
  21. }
  22.  
  23.  
  24. trace(lotto(1,49,6))

Nie wieder Lottozahlen suchen
__________________
Kunst ist in erster Linie eine Frage der Form und nicht des Inhalts
Paul Rand

Geändert von e2e4 (17-04-2003 um 11:00 Uhr)
e2e4 ist offline   Mit Zitat antworten
Alt 17-04-2003, 10:58   #8 (permalink)
buehnentechniker
 
Benutzerbild von honifred
 
Registriert seit: Feb 2002
Ort: trier
Beiträge: 2.448
ihr seid der absolute wahnsinn! machen wir doch einen oop kontest daraus! vielen dank an euch alle!!!
__________________
Es gibt eine Sache, die schlimmer ist, als die Ausschweifung: die Abstinenz.

Achim 69
honifred ist offline   Mit Zitat antworten
Alt 17-04-2003, 11:11   #9 (permalink)
◘ ◘
 
Benutzerbild von beachmeat
 
Registriert seit: Dec 2001
Ort: Amsterdam
Beiträge: 6.126
Das geht auch kürzer

ActionScript:
  1. function getRandomValues (from, to)
  2. {
  3.     var t = new Array ();
  4.    
  5.     for (var i = from; i < to; i++)
  6.         t.push (i);
  7.  
  8.     t.sort (function (){return (random (3) - 1);});
  9.    
  10.     return t.splice (0, t.length);
  11. }
  12.  
  13. myRandomArray = getRandomValues(100,400)

Erstellt ein Array mit Zufallszahlen aus dem angegebenen Bereich
__________________
jeden Tag frisch

Geändert von beachmeat (17-04-2003 um 11:13 Uhr)
beachmeat ist offline   Mit Zitat antworten
Alt 17-04-2003, 11:12   #10 (permalink)
alien
 
Benutzerbild von Smirgel
 
Registriert seit: May 2002
Ort: Colonia
Beiträge: 7.597
@geiler fred: du warst überigens der anlass für meine kläglichen versuche. du wolltest doch irgendwie mc´s per zufall anordnen. ich denke hier haste die passenden scripte dazu gefunden
__________________
bei fragen, fragen.
Smirgel ist offline   Mit Zitat antworten
Alt 17-04-2003, 11:15   #11 (permalink)
buehnentechniker
 
Benutzerbild von honifred
 
Registriert seit: Feb 2002
Ort: trier
Beiträge: 2.448
@ smirgel:
nein, smirgel, dass war ich diesmal nicht, obwohl ich bestimmt schon einigen schlaflose nächte bereitet habe
__________________
Es gibt eine Sache, die schlimmer ist, als die Ausschweifung: die Abstinenz.

Achim 69
honifred ist offline   Mit Zitat antworten
Alt 17-04-2003, 11:16   #12 (permalink)
[Matthias K.] - Moderator
 
Benutzerbild von Madokan
 
Registriert seit: Jun 2001
Ort: Berlin/Germany - and the hole World !
Beiträge: 9.971
Lieber keinen Kontest, sonst kommt am Ende noch ein Zeile bei rum.

Viel Spass!

Liebe Grüsse
Matze K.
Madokan ist offline   Mit Zitat antworten
Alt 17-04-2003, 11:17   #13 (permalink)
God made me funky..
 
Registriert seit: Apr 2003
Ort: Bremen
Beiträge: 1.067
@beachmeat: Wohl eher zufällig geordnet, oder blick ich da wat nich?
__________________
Kunst ist in erster Linie eine Frage der Form und nicht des Inhalts
Paul Rand
e2e4 ist offline   Mit Zitat antworten
Alt 17-04-2003, 11:18   #14 (permalink)
Riccardo D.
 
Benutzerbild von timecity
 
Registriert seit: Jul 2001
Beiträge: 61
Das wird ja immer besser
__________________
Faulpelze sind Leute, die gelernt haben, gleich am Anfang aufzuhören. (Hans Clarin)
----------------------------------
timecity ist offline   Mit Zitat antworten
Alt 17-04-2003, 11:24   #15 (permalink)
[Matthias K.] - Moderator
 
Benutzerbild von Madokan
 
Registriert seit: Jun 2001
Ort: Berlin/Germany - and the hole World !
Beiträge: 9.971
e2e4 - beachmeat hat Handwerker im Haus, daher milde walten lassen.

Liebe Grüsse
Matze K.
Madokan ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 05:59 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele