Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 11-10-2005, 10:56   #1 (permalink)
--------------------
 
Benutzerbild von ShockeR.1
 
Registriert seit: Jul 2001
Ort: Dortmund
Beiträge: 299
Zufällige Reihe mit festem Startwert - 6 aus 49

hi forum,
folgende anforderung bzw. problem:
anhand eines festen startwertes (evtl. aktuelle uhrzeit oder ähnliches) sollen 12 unterschiedliche lottoreihen, also 6 aus 49 zahlen, ermittelt bzw. generiert werden. wobei diese reihen abhängig vom eingesetzten startwert sein sollen, also bei gleichem startwert bekommt man auch gleiche reihen!

beispiel:
startwert = 1234
reihe1 = (1,11,32,33,38,42)
.
.
.
reihe12 = (3,9,18,22,26,40)


startwert = 5678
reihe1 = (4,6,12,19,28,31)
.
.
.
reihe12 = (8,15,17,26,27,39)

als ansatz habe ich hier im forum bereits ein script gefunden welches zahlen anhand eines startwertes ermittelt. allerdings habe ich jetzt keinen plan wie ich das script für meine belange anpassen könnte...
hier mal das script:
ActionScript:
  1. m1 = 10000;
  2. m = 100000000;
  3. function Mult(a, b) {
  4.         p1 = a/m1;
  5.         p0 = a%m1;
  6.         q1 = b/m1;
  7.         q0 = b%m1;
  8.         return (((p0*q1+p1*q0)%m1)*m1+p0*q0)%m;
  9. }
  10. function myRandom(max) {
  11.         seed = (Mult(seed, 31415821)+1)%m;
  12.         return Math.floor(((seed/m1)*max)/m1);
  13. }
  14. //
  15. trace("-----");
  16. seed = 12345678; // <-- startzahl
  17. trace(myRandom(500));
  18. trace(myRandom(500));
  19. trace(myRandom(500));
  20. trace("-----");
  21. seed = 12345678;
  22. trace(myRandom(500));
  23. trace(myRandom(500));
  24. trace(myRandom(500));
quelle: Math.random


sind also mathematiker, programmierer oder sonstige leute die mathematischer denken als ich (sollte nicht schwierig sein ) anwesend und haben einen lösungsansatz? wäre echt super!!! danke für eure hilfe...

gruss,
andré
__________________
www.shocker.de
ShockeR.1 ist offline   Mit Zitat antworten
Alt 11-10-2005, 11:14   #2 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
Warum benutzt du nicht einfach ein zweidimensionales Array?
Oder habe ich es missverstanden, dass du nur 12 verschiedene Reihen haben willst?!
pape ist offline   Mit Zitat antworten
Alt 11-10-2005, 11:19   #3 (permalink)
--------------------
 
Benutzerbild von ShockeR.1
 
Registriert seit: Jul 2001
Ort: Dortmund
Beiträge: 299
nein, da habe mich wohl etwas falsch ausgedrückt. die 12 reihen sollen natürlich immer verschieden sein, allerdings abhängig vom startwert. startwert 1234 liefert immer die gleichen 12 unterschiedlichen reihen, startwert 1235 liefert wiederum auch 12 unterschiedliche reihen die sich allerdings von denen eines anderen startwertes unterscheiden und so weiter. demnach benötige ich n verschiedene reihen, somit fällt die variante mit nem zweidimensionalen array leider weg...

cheers,
andré
__________________
www.shocker.de

Geändert von ShockeR.1 (11-10-2005 um 11:22 Uhr)
ShockeR.1 ist offline   Mit Zitat antworten
Alt 11-10-2005, 12:26   #4 (permalink)
--------------------
 
Benutzerbild von ShockeR.1
 
Registriert seit: Jul 2001
Ort: Dortmund
Beiträge: 299
hey, das sieht doch schon sehr gut aus. super!
allerdings sind die zahlen pro reihe, die bei meinen tests rauskommen, legdiglich von 1 bis maximal 16. wie gross darf bei dem script denn startwert sein? könntest du mir das script vielleicht mal kurz erläutern, blicke da ja irgendwie nicht so richtig durch... *schäm*

edit
Wo ist denn das Script das hier gerade gepostet wurde?????? HILFÄÄÄÄ...
/edit

gruss,
andré
__________________
www.shocker.de

Geändert von ShockeR.1 (11-10-2005 um 12:27 Uhr)
ShockeR.1 ist offline   Mit Zitat antworten
Alt 11-10-2005, 12:50   #5 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hallo!
Ich hatte da mist gepostet (ist ja nix Neues). Habe jetzt noch ein wenig "gefummelt", aber dadruch, dass random() wegfällt, ist es halt schwierig, möglichst viele unterschiedliche Zahlen raus zu bekommen. Es sind jetzt z.B. so gut wie immer die 1 und die 49 dabei. Keine Ahnung, wie ich das noch ändern könnte (bin kein Mathematiker). Aber als Ansatz taugt's vielleicht... An alle Mathematiker: Bitte nicht hauen!
ActionScript:
  1. function build() {
  2.     zahlen = [];
  3.     for (var x = 1; x<=49; x++) {
  4.         zahlen.push(x);
  5.     }
  6. }
  7. //
  8. build();
  9. //
  10. function ausgabe(wert) {
  11.     for (var i = 0; i<12; i++) {
  12.         var nums = Math.atan(wert).toString().substr(-6);
  13.         trace(nums)
  14.         _root["arr"+i] = [];
  15.         for (var x = 0; x<6; x++) {
  16.             var wahl = Math.min(Number(nums.charAt(x)*nums.charAt(x)), zahlen.length-1);
  17.             _root["arr"+i].push(zahlen[wahl]);
  18.             zahlen.splice(wahl, 1);
  19.         }
  20.         build();
  21.         wert = wert/Math.PI;
  22.     }
  23. }
  24. //
  25. ausgabe(4);
  26. //
  27. for (var x = 0; x<12; x++) {
  28.     trace(_root["arr"+x]);
  29. }
  30. //
  31. trace("------------------");
  32. //
  33. ausgabe(105);
  34. //
  35. for (var x = 0; x<12; x++) {
  36.     trace(_root["arr"+x]);
  37. }
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 11-10-2005, 12:59   #6 (permalink)
--------------------
 
Benutzerbild von ShockeR.1
 
Registriert seit: Jul 2001
Ort: Dortmund
Beiträge: 299
als ansatz taugt das mit sicherheit. schonmal besten dank für deine mühen!!!
werde mal versuchen durch dein script durchzusteigen und das ganze evtl. noch zu optimieren. falls noch jemand (vielleicht ein mathematiker ) optimierungsvorschläge hat, bitte posten... danke!

gruss,
andré
__________________
www.shocker.de
ShockeR.1 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 15:44 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele