Map zufällig erstellen lassen

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Destructor24

Betreff: Map zufällig erstellen lassen

BeitragSa, Aug 20, 2005 12:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo ,

bin neu hier und habe eine Frage:

wie kann ich es erreichen das der Computer mir jedesmal wenn ich mein
Programm starte oder bei entsprechendem Funktionsaufruf eine neue Anordnung meiner Tiles präsentiert???

Ich habe ein Tileset mit 5 Bildern.
Habe es schon mit DrawImage gfxtiles,x,y,rnd(ANZAHL_TILES) versucht,
aber das klappt gar nicht,denn dann bekomme ich ja bei jedem Schleifendurchlauf eine neue Anordnung und das sieht etwas verwirrend aus Smile

Wäre schön wenn ihr mir helfen könntet.

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSa, Aug 20, 2005 13:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Du erstellst ein Array in dem das Bild steht welches gezeichnet wird also 0 bis 4 wegen der 5 Bilder!

und zeichnest es dann mit diesem Array


Beispiel:
BlitzBasic: [AUSKLAPPEN]

Graphics 800 ,600,16,2
Dim Map (20 ,15) ; Arrray erstellen
Const C_Space = 57; zur besseren Übersicht
Const C_ESC = 1

Bild =LoadAnimImage (\"Tileimg.bmp\",40,40,1,5) ; Bild laden



Function NewMap (); hier wird zufällig eine neue Map erstellt
For y = 0 To 15
For x = 0 To 20
Map (x,y) = Rand (0 ,4)
Next
Next
End Function

SetBuffer BackBuffer ()

; aufruf der Function um die Map einmal zu erstellen
NewMap () ; zum Start einen Neue

While Not KeyDown (C_ESC) ; Hautschleife

If KeyHit (C_Space) Then NewMap (); beim Drücken gibst eine neue Map

For y = 0 To 14 ; hier die Aktuelle map zeichnen
For x = 0 To 19
DrawImage Bild,x * 40 ,y * 40 ,Map (x,y)
Next
Next

Flip
Cls
Wend

End

Das sollte reichen um das zu zeigen wie es gehen könnte!

abgesehen davon gehört das aber in den Beginner Corner!
[BB2D | BB3D | BB+]

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSo, Aug 21, 2005 14:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Destructor24, falls du einfach nur eine feste Zufallsreihenfolge haben möchtest, aber nicht einzelnd die Felder auslesen musst. Dann kannst du es auch so machen.

Code: [AUSKLAPPEN]
Graphics 800,600,32,2
SetBuffer BackBuffer()
anordnung=MilliSecs()



While Not KeyHit(1)

 If KeyHit(57) Then anordnung=MilliSecs()
 SeedRnd anordnung

 For x=0 To 9
  Text MouseX()+x*8,MouseY()-10,Rand(0,4)
 Next

 Flip
 Cls
Wend
End

Mit [Space] kann man die Zufallsreihenfolge ändern.
 

Destructor24

BeitragSo, Aug 21, 2005 15:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Mensch,ihr seid klasse!!!
Dankeschön!!!

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group