Stringwith
Übersicht

SerdonBetreff: Stringwith |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo allerseits
Ich habe mich wie schonmal gesagt ja jetzt an ein kleines Strategiespiel gewagt und habe gleich mal mit einem zufallsmapgenerator angefangen auf der Map sollen Bäume, Felsen, Ruinen, Büsche ... per zufall verteilt werden. Da es aber ständig vorkam dass dann ein Felsen über zwei Bäumen lag usw... habe ich mir über legt, mache ich z.B. kleine Waldgebiete mit Stringwith sodass die map jedesmal ein bisschen anders ausieht. aber z.B. es keine heillosen Durcheinander mehr gibt. Mein Code (ersmal nur für Bäume sieht jetzt so aus: Code: [AUSKLAPPEN] Graphics 1024,768 SetBuffer BackBuffer() Gras = LoadImage("Gras.bmp") TileBlock Gras Baum1 = LoadImage("Baum1.bmp") Viewport 100,100,200,200 While Not KeyHit(1) SeedRnd MilliSecs() For t=1 To 1 DrawImage Baum1, Rand(60),Rand(60) Next Flip Wend WaitKey End Aber irgendwie greift der Code nicht... Ich weiß, die Lösung ist alles andere als elegant, aber ich würde ohnehin ganz gerne meinen Fehler erfahren. Fals jemand eine bessere und vor allem einfache Lösung hat, fänd ichs nett wenn er es mir genaustens erklären könnte. Danke schonmal im Vorraus. |
||
PacMani |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] For t = 1 To 1
DrawImage(Baum1, Rand(60), Rand(60)) Next Diese Schleife wird nur einmal durchlaufen, da t schon beim ersten Durchlauf 1 ist und die Schleife bei größeren Werten endet. Da du dir die Schleife demnach auch sparen könntest, denke ich, dass das nicht gewollt ist. |
||
Serdon |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Was soll ich stattdessen schreiben ? | ||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
SeedRnd MilliSecs() gehört einmalig vor die Schleife, ansonsten wird der Zufallsgenerator immer wieder neu initialisiert und du bekommst immer wieder die exakt gleichen zufälligen Koordinaten (bis 1 Millisekunde vergangen ist).
Wenn du immer wieder das selbe Zufallsmuster bekommen willst, musst du den Zufallssamen auch konstant lassen. Was hat das alles überhaupt mit Stringwidth ![]() |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
PacMani |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Stimmt, das mit SeedRnd habe ich garnicht gesehen. Vermutlich, weil der Code nicht eingerückt und somit schlecht lesbar ist. | ||
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hab keine IDE zur Hand, sollt aber so etwa aussehn
Code: [AUSKLAPPEN] Graphics 1024,768
SetBuffer BackBuffer() Gras = LoadImage("Gras.bmp") Baum1 = LoadImage("Baum1.bmp") SeedRnd MilliSecs() ;Array erstellen dim map(21,21) ;Array mit zufälligen daten füllen for x=0 to 20 for y=0 to 20 map(x,y)=rnd(1) next next ;Grösse der Bilder auslesen Baum1_x=imagewidth(Baum1) Baum1_y=imageheight(Baum1) Gras_x=imagewidth(Gras) Gras_y=imageheight(Gras) While Not KeyHit(1) cls ;alle felder durchgehn For x=0 to 20 for y=0 to 20 ;Zeichnen if map(x,y)=1 DrawImage Baum1,x*Baum1_x,y*Baum1_y endif if map(x,y)=0 DrawImage Gras,x*Gras_x,y*Gras_y endif Next next Flip 30 Wend WaitKey End Grüsse ![]() |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
ozzi, ich weiß nicht recht ob es ihm in naher Zukunft helfen kann wenn man halbgare Codes in den Raum schmeisst? Ist echt nicht böse gemeint und ich weiß das es nur mal eben im Forum runtergetippt war, aber Serdon beginnt gerade bei Vollnull, da ist sowas in meinen Augen einfach in die falsche Richtung wirkend ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group