mein pc überlässt nichts dem zufall!
Übersicht

![]() |
Rotes_EichhörnchenBetreff: mein pc überlässt nichts dem zufall! |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi
ich schreib gerade ein mammory-programm, und muss am Anfang, 16 Werte für 16 variabeln finden. Also denke ich mir: "hmm...ich mach das mit rand!" aber jetzt habe ich 2 probleme: 1.: er braucht, um alle 16 zahlen herauszufinden 2 sec. bei meinem 512 MB-Computer... 2.: wenn ich die 16 Zahlen generiere, dann schaut das so aus: ich starte das game: die zahlen: 1 12 15 ... kommen, ich beende das game. Ich starte es wieder. und es kommen die zahlen: 1 12 15 ... also immer nach dem gleichen schema... wer kann mir helfen? PS.: der Code: (nicht umfallen) Code: [AUSKLAPPEN] While wert1=wert2 Or wert1=wert3 Or wert1=wert4 Or wert1=wert5 Or wert1=wert6 Or wert1=wert7 Or wert1=wert8 Or wert1=wert9 Or wert1=wert10 Or wert1=wert11 Or wert1=wert12 Or wert1=wert13 Or wert1=wert14 Or wert1=wert15 Or wert1=wert16 Or wert2=wert3 Or wert2=wert4 Or wert2=wert5 Or wert2=wert6 Or wert2=wert7 Or wert2=wert8 Or wert2=wert9 Or wert2=wert10 Or wert2=wert11 Or wert2=wert12 Or wert2=wert13 Or wert2=wert14 Or wert2=wert15 Or wert2=wert16 Or wert3=wert4 Or wert3=wert5 Or wert3=wert6 Or wert3=wert7 Or wert3=wert8 Or wert3=wert9 Or wert3=wert10 Or wert3=wert11 Or wert3=wert12 Or wert3=wert13 Or wert3=wert14 Or wert3=wert15 Or wert3=wert16 Or wert4=wert5 Or wert4=wert6 Or wert4=wert7 Or wert4=wert8 Or wert4=wert9 Or wert4=wert10 Or wert4=wert11 Or wert4=wert12 Or wert4=wert13 Or wert4=wert14 Or wert4=wert15 Or wert4=wert16 Or wert5=wert6 Or wert5=wert7 Or wert5=wert8 Or wert5=wert9 Or wert5=wert10 Or wert5=wert11 Or wert5=wert12 Or wert5=wert13 Or wert5=wert14 Or wert5=wert15 Or wert5=wert16 Or wert6=wert7 Or wert6=wert8 Or wert6=wert9 Or wert6=wert10 Or wert6=wert11 Or wert6=wert12 Or wert6=wert13 Or wert6=wert14 Or wert6=wert15 Or wert6=wert16 Or wert7=wert8 Or wert7=wert9 Or wert7=wert10 Or wert7=wert11 Or wert7=wert12 Or wert7=wert13 Or wert7=wert14 Or wert7=wert15 Or wert7=wert16 Or wert8=wert9 Or wert8=wert10 Or wert8=wert11 Or wert8=wert12 Or wert8=wert13 Or wert8=wert14 Or wert8=wert15 Or wert8=wert16 Or wert9=wert10 Or wert9=wert11 Or wert9=wert12 Or wert9=wert13 Or wert9=wert14 Or wert9=wert15 Or wert9=wert16 Or wert10=wert11 Or wert10=wert12 Or wert10=wert13 Or wert10=wert14 Or wert10=wert15 Or wert10=wert16 Or wert11=wert12 Or wert11=wert13 Or wert11=wert14 Or wert11=wert15 Or wert11=wert16 Or wert12=wert13 Or wert12=wert14 Or wert12=wert15 Or wert12=wert16 Or wert13=wert14 Or wert13=wert15 Or wert13=wert16 Or wert14=wert15 Or wert14=wert16 Or wert15=wert16 wert1=Rand(1,16) wert2=Rand(1,16) wert3=Rand(1,16) wert4=Rand(1,16) wert5=Rand(1,16) wert6=Rand(1,16) wert7=Rand(1,16) wert8=Rand(1,16) wert9=Rand(1,16) wert10=Rand(1,16) wert11=Rand(1,16) wert12=Rand(1,16) wert13=Rand(1,16) wert14=Rand(1,16) wert15=Rand(1,16) wert16=Rand(1,16) |
||
![]() |
tyty |
![]() Antworten mit Zitat ![]() |
---|---|---|
SeedRnd MilliSecs() | ||
User posted image
Kaikille suomea puhuville ihmisille: tyty = tyty the technical youngster!!! |
![]() |
Cardonic |
![]() Antworten mit Zitat ![]() |
---|---|---|
hi du eichhörnchen
damit nicht jedesmal die gleichen zufallszahlen kommen musst du folgende codezeile benutzen: Code: [AUSKLAPPEN] Seedrnd MilliSecs()
(mist, ist mir jemand zuvorgekommen) zu der anderen frage : ich würde das etwa so schreiben: Code: [AUSKLAPPEN] Dim werte(15)
For i = 1 To 16 z = Rand(15) While werte(z) > 0 z = (z + 1) mod 15 Wend werte(z) = i Next das braucht nicht ganz so viel zeit ![]() mfg cardonic |
||
If you should go skating on the thin ice of modern life, dragging behind you the silent reproach of a million tear-stained eyes, don't be surprised when a crack in the ice appears under your feet. |
![]() |
Rotes_Eichhörnchen |
![]() Antworten mit Zitat ![]() |
---|---|---|
das mit millisec() verstehe ich, aber das andere...
das geht ned, und mein PC hängt sich auf^^. wert1, ist eine variable... villeicht liegt da das problem... |
||
![]() |
YellowRiderEhemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
~VERSCHOBEN~ Dieser Thread passte nicht in das Forum, in dem er ursprünglich gepostet wurde. |
||
![]() |
Cardonic |
![]() Antworten mit Zitat ![]() |
---|---|---|
hi nochmals
Ich hab's mit BlitzPlus getestet und es funktionierte. Für BlitzBasic2D müsste das so aussehen: Code: [AUSKLAPPEN] Dim werte(15)
For i = 1 To 16 z = Rand(15) While werte(z) > 0 z = z + 1 If z > 15 Then z = 0 Wend werte(z) = i Next Ich hoffe, dass es dieses mal funktioniert ![]() mfg Cardonic |
||
If you should go skating on the thin ice of modern life, dragging behind you the silent reproach of a million tear-stained eyes, don't be surprised when a crack in the ice appears under your feet. |
![]() |
Rotes_Eichhörnchen |
![]() Antworten mit Zitat ![]() |
---|---|---|
habe blitz plus... werde es nochmal testen! | ||
![]() |
Cardonic |
![]() Antworten mit Zitat ![]() |
---|---|---|
hi
Die neue Version funktioniert auch mit BlitzBasic (ich hab's getestet) mfg Cardonic |
||
If you should go skating on the thin ice of modern life, dragging behind you the silent reproach of a million tear-stained eyes, don't be surprised when a crack in the ice appears under your feet. |
![]() |
Rotes_Eichhörnchen |
![]() Antworten mit Zitat ![]() |
---|---|---|
hmm... jetzt hängt sich zu mindest mein PC nicht mehr auf... aber es werden keine zahlen geliefert, wenn ich das folgendermasßen mache:
Code: [AUSKLAPPEN] Graphics 800,600,32,1 SetBuffer BackBuffer() hintergrund=LoadImage("bg.bmp") MaskImage maus, 255, 0, 255 While Not KeyHit(1) X=MouseX() Y=MouseY() Cls DrawImage hintergrund,0,0 SeedRnd MilliSecs() Dim werte(15) For i = 1 To 16 z = Rand(15) While werte(z) > 0 z = z + 1 If z > 15 Then z = 0 Wend werte(z) = i Next Color 0,0,0 Text 50,30, "" +wert1 Text 50,40, "" +wert2 Text 50,50, "" +wert3 Text 50,60, "" +wert4 Text 50,70, "" +wert5 Text 50,80, "" +wert6 Text 50,90, "" +wert7 Text 50,100, "" +wert8 Text 50,110, "" +wert9 Text 50,120, "" +wert10 Text 50,130, "" +wert11 Text 50,140, "" +wert12 Text 50,150, "" +wert13 Text 50,160, "" +wert14 Text 50,170, "" +wert15 Text 50,180, "" +wert16 Flip Wend End |
||
Gerhard |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Mach mal ein Waitkey() nach Flip.
Du erstellst ja bei jedem Schleifendurchlauf neue Zahlen. Und: Schrift wirklich in schwarz? |
||
![]() |
ChaosCoder |
![]() Antworten mit Zitat ![]() |
---|---|---|
So... hab mal schnell das ganze umgeschrieben!
Sollte jetzt richtig sein! Musst aber das mit deinen Bildern noch einfügen! Code: [AUSKLAPPEN] Graphics 800,600,32,2
SetBuffer BackBuffer() SeedRnd MilliSecs() ;Aus der Schleife raus ;) Dim werte(15) ;Auch aus der Schleife raus For i = 0 To 15 ;Keine Ahnung was du genau machen willst aber ich würds aus der Schleife rausnehmen! z = Rand(15) z=z+1 werte(i) = z Next While Not KeyHit(1) X=MouseX() Y=MouseY() Cls For i=0 To 15 Text 50,30+i*20, "" +werte(i) ;Hier werden alle Werte ausgegeben Next If KeyHit(57) ;Wenn du Leertaste drückst wird ein neuer Satz Zahlen generiert For i = 0 To 15 z = Rand(15) z=z+1 werte(i) = z Next EndIf Flip Wend End |
||
Projekte: Geolaria | aNemy
Webseite: chaosspace.de |
Gerhard |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Da kommen doch wieder gleiche Werte mehrfach vor.
Die For...next - Schleife war vorher besser. |
||
![]() |
Cardonic |
![]() Antworten mit Zitat ![]() |
---|---|---|
hi
Ich habe mein Beispiel noch etwas ausgebaut, damit alle verstehen, wie es gemeint war. Hier der Code: Code: [AUSKLAPPEN] Dim werte(15)
SeedRnd MilliSecs() Repeat For i = 0 To 15 werte(i) = 0 Next For i = 1 To 16 z = Rand(0,15) While werte(z) > 0 z = (z+1) Mod 16 Wend werte(z) = i Next Cls Locate 0,0 For i = 0 To 15 Print werte(i) Next WaitKey() Until KeyHit(1) End Falls jemand jetzt noch behauptet, dass es nicht funktioniert ... ![]() mfg Cardonic |
||
If you should go skating on the thin ice of modern life, dragging behind you the silent reproach of a million tear-stained eyes, don't be surprised when a crack in the ice appears under your feet. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group