Seedrnd

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

noir

Betreff: Seedrnd

BeitragSo, Nov 28, 2004 18:24
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn ma in einer funktion seedrnd mit millisecs() initialisiert, ist es nur innerhalb einer funktion gültig.


da ich in mehrern funktion zufalls zahlen braucht, hab ich halt in jeder funktion seedrnd neu initialisiert oder halt gleich für alle aufeinmal außerhalb von den funktionen.

soweit is ja alles klar, aber!!!!:


aber wenn ich die seedrnd 2x mal oder außerhalb der funktion initialisiere
kommet es bei mit zu problemen



Code: [AUSKLAPPEN]


Function Karten_mischen()

SeedRnd MilliSecs()

For j = 1 To Spieleranzahl

anzahl = 0

Repeat
r = Rand(1,80)

If Alle_Karten(r,1) = 1 Then
 anzahl = anzahl + 1
 Spieler(j,anzahl,0) = CopyImage (Alle_Karten(r,0))
 Spieler(j,anzahl,2) = Alle_Karten_Wert(r,0)
 Alle_Karten(r,1) = 0
EndIf 

Until (anzahl= Kartenzahl_je_Spieler(j))

Next

End Function



ihr müsst den code nicht verstehn, er verteilt einfach die karten an die spieler. jede karte natürlich nur einmal.

ok, im durchschnitt sind die karten nach ca. 200 durchläufen verteilt.

aber wenn ich wie oben schon gesagt seedrnd außerhalb der funktion oder mehrmals benutze, dann werden die karten nie fertig verteilt. ich habs sehr oft probiert und immer bis über 100million laufen lassen, aber --


ok, falls jemand noch bis hierher gelesen hat *g :
is das einfach zufall Question oder ein fehler von mir oder blitzbasic

wenn ihr was net versteht, was verständlich ist, dieses problem is einfach scheiße zu erklären dann fragt nach
 

Apocalyptic

Betreff: Re: Seedrnd

BeitragSo, Nov 28, 2004 18:25
Antworten mit Zitat
Benutzer-Profile anzeigen
noir hat Folgendes geschrieben:
wenn ma in einer funktion seedrnd mit millisecs() initialisiert, ist es nur innerhalb einer funktion gültig.


Wer hat dir denn das erzählt? Rolling Eyes

Schreib ganz an den Anfang deines Codes 1 mal SeedRnd Millisecs(), das reicht...

Das Problem liegt wohl eher in deinem Code.
Suum cuique

[ www.ffs-net.de.vu ] [ Raycaster ]
 

noir

BeitragSo, Nov 28, 2004 18:36
Antworten mit Zitat
Benutzer-Profile anzeigen
sorry leute ich bin heut wohl etwas verwirrt *ggggg

das mit dem code geht alles,

ich bin so blöddddddddddddddddddddddddddddddddddddddddddddd

ich hatte wirklich einen fehler im code der das bewirkt hatte, denn hatte ich aber schon längst gelöst.

aber ich hatte vorhin woll einen blackout (schreibt ma des so?)
und vergessen das ich das problem gelöst hatte. Embarassed

tja mit den seedrnd hast du natürlich recht, nur wegen meinem fehler kamm es zu diesem probelem...................... *völlig confused*
  • Zuletzt bearbeitet von noir am So, Nov 28, 2004 18:41, insgesamt einmal bearbeitet
 

Apocalyptic

BeitragSo, Nov 28, 2004 18:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Schreib mal das in jede Funktion, die mit deinem Zufallssystem arbeitet:

Code: [AUSKLAPPEN]
For i=0 To 80
   Alle_Karten(i,1)=1
Next


PS: Arrays beginnen schon mit dem Eintrag Nr. 0. Dh Dim Blubb(9) entspricht 10 Variablen. Dein Array Kartenzahl_je_Spieler() ist zum Beispiel verschwenderisch, da du Kartenzahl_je_Spieler(0) nicht nutzt... Und ich glaube kaum, dass eine andere Funktion den 0. Eintrag nutzt Wink,
Suum cuique

[ www.ffs-net.de.vu ] [ Raycaster ]
  • Zuletzt bearbeitet von Apocalyptic am So, Nov 28, 2004 18:43, insgesamt einmal bearbeitet
 

noir

BeitragSo, Nov 28, 2004 18:42
Antworten mit Zitat
Benutzer-Profile anzeigen
ja klar, ich habs auch nochma zu sicherheit ausprobiert funktioniert natürlich richtig.

man is des peinlich *ggg*


ich hatte halt am code was verändert und das mit seedrnd ausprobiert, und als es net gings hab ich es darauf zurückgeführt, da ich vergessen hatte das ich ja noch was anderes geändert hatte.....

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group