Bürger zufällig auf bürgersteig verteilen (bitte schnelle)
Übersicht

![]() |
dimasterBetreff: Bürger zufällig auf bürgersteig verteilen (bitte schnelle) |
![]() Antworten mit Zitat ![]() |
---|---|---|
also ich möchte auf meiner map passanten nur auf der zwei also aufm gehsteig zeichnen wie geht dat?ich bin schon den ganzen nachmitag an diesem problem.BITTE HELFT DOCH ![]() |
||
Affje |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] Rnd(minimale zahl, maximale zahl) ?? einfach die positionen per zufall würfeln?!?!? meinst du was anderes? |
||
www.drachengarde.tk
Guckst da Hier |
[SHM]StArMaStEr |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
er meint es so: er hat eine tile map und darauf is ein büprgersteig aus tiles.
jetzt sollen diese bürger nur auf den bürgersteig erstellt werden. |
||
BB-coden was das Zeug hällt!!!! |
Affje |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
achso sagts doch gleich, denn dann kann ich net helfen :-/ | ||
www.drachengarde.tk
Guckst da Hier |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich nehme mal an die Zivis sollen zufällig verteilt werden. Dann gehen wir einfach die ganzen Zivis die erstellt werden sollen durch:
Code: [AUSKLAPPEN] For i=1 To max_zivis
Hoffe das ist das gesuchte Repeat x=Rand(0,width) y=Rand(0,height) If map(x,y)=Bürgersteig zivix=x*tilewidth ziviy=y*tileheight Exit EndIf Forever Next ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
storzi |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
erstmal per zufall bestimmen auf welches tile es soll, dann bestimmen ob es auch ein gehweg ist, wenn nicht einfach neu würfeln lassen ![]() und dann halt auf dem tile noch per zufall verteilen. |
||
http://www.splattergamez.de |
Edlothiol |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Genau das was Hubsi geschrieben hat... ![]() |
||
![]() |
dimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
also ich möchte aber das der bürger nur aum tile 2 steht ![]() |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dann setz halt 2 statt Bürgersteig ein ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
[SHM]StArMaStEr |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
habs ma gmacht wie hubsi sagt aber er zeichnet die bürger dann nich
hier ma code Code: [AUSKLAPPEN] For i=1 To 300
Repeat zx=Rand(0,100) zy=Rand(0,100) If map(zx,zy)=2 Then zivi(i,0)=1 zivi(i,1)=zx*32 zivi(i,2)=zy*32 Exit EndIf Forever Next so und dann lass ich in der hauptschleife die bürger malen mit Code: [AUSKLAPPEN] For sd=1 To 300
If zivi(sd,0)=1 Then DrawImage mann,zivi(sd,1),zivi(sd,2) EndIf Next ich seh da aber keine bürger. ich hab ma mit text die koords der bürger ausgegeben und die koordinaten sind ok aber da is dann kein bürger. woran liegt das hab ich was falsch gemacht? |
||
BB-coden was das Zeug hällt!!!! |
![]() |
DCSieger des B2D Retro Wettbewerb / Aug 04 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zeichnest du die Bürger vielleicht VOR den Tiles? Wenn ja: Musst sie danach zeichnen!
Ansonsten kann ich mir nicht erklären warum sie nicht sichtbar sind, obwohl die Koordinaten stimmen.. |
||
Core i5 4670K | 4 x 3,40 GHZ | 16 GB Ram | GeForce GTX 960 | HTC Vive | Win 10 Pro
www.UnrealSoftware.de | www.StrandedOnline.de | www.CS2D.com | www.CarnageContest.com | www.Stranded3.com |
[SHM]StArMaStEr |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hmmm daran liegs nich, ich zeichne immer zuerst die tiles. soll ich vielleicht ma den ganzen code posten damit ihr ma gucken könnt woran es liegt? | ||
BB-coden was das Zeug hällt!!!! |
[SHM]StArMaStEr |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
so wenn keiner antwortet heisst das nich nein also poste ich ma den code
Code: [AUSKLAPPEN] Graphics3D 640,480,16,1 SetBuffer BackBuffer() Dim schuss#(50,3) Dim shot(50) Dim map(200,200) Dim zivi(500,3) tile = LoadAnimImage("gfx/tileset2.bmp",32,32,0,47) mann = LoadImage("gfx/civi1.bmp") load() px=9 ;x-koord des players für kollision py=8 ;y-koord des players für kollision ppx=9*32 ;x-koord des players ppy=8*32 ;y-koord des players AutoMidHandle True SeedRnd MilliSecs() sprite=LoadSprite("gfx/p.bmp",4) ScaleSprite sprite,-32,-32 PositionEntity sprite,((ppx-scrollx)*2)-640+32,-((ppy-scrolly)*2)+480-32,640 cam=CreateCamera() CameraClsMode cam,0,1 CameraRange cam,1,700 PositionEntity cam,-3,-3,0 maus = LoadImage("gfx/maus.bmp") MidHandle maus kugel=LoadImage("gfx/kugel.png") For i=1 To 300 Repeat zx=Rand(0,100) zy=Rand(0,100) If map(zx,zy)=2 Then zivi(i,0)=1 zivi(i,1)=zx*32 zivi(i,2)=zy*32 Exit EndIf Forever Next While Not KeyHit(1) Cls For y=0 To 200 For x=0 To 200 DrawImage tile,x*32-scrollx,y*32-scrolly,map(x,y) Next Next Text 100,120,zivi(1,1)/32+" "+zivi(1,2)/32 Text 100,140,ppx/32+" "+ppy/32 mx# = MouseX() my# = MouseY() winkel = ATan2(mx-288,256-my) RotateSprite sprite,winkel*-1 PositionEntity sprite,((ppx-scrollx)*2)-640+32,-((ppy-scrolly)*2)+480-32,640 If zap>0 Then ; wenn taste gedrückt wurde If move=1 ; wenn die cursor-taste oben gedrückt wurde scrolly=scrolly-2 ;dann scrolle die map nach oben ppy=ppy-2 ;dann scrolle player nach oben q=q+1 ;q=q+1 If q=16 Then ;wenn q=16 zap=0 ;dann ist bewegung zu ende q=0 ;q=0 py=py-1 ;kollisionsdaten des players werden aktualisiert EndIf EndIf If move=2 scrolly=scrolly+2 ppy=ppy+2 q=q+1 If q=16 Then zap=0 q=0 py=py+1 EndIf EndIf If move=3 scrollx=scrollx-2 ppx=ppx-2 q=q+1 If q=16 Then zap=0 q=0 px=px-1 EndIf EndIf If move=4 scrollx=scrollx+2 ppx=ppx+2 q=q+1 If q=16 Then zap=0 q=0 px=px+1 EndIf EndIf EndIf If KeyDown(200) Then If map(px,py-1)<7 Then If zap<1 Then move=1 ;move=1 - oben zap=1 ;move=2 - unten frame=2 ;move=3 - links EndIf ;move=4 - rechts EndIf EndIf If KeyDown(208) Then If map(px,py+1)<7 Then If zap<1 Then move=2 zap=1 frame=3 EndIf EndIf EndIf If KeyDown(203) Then If map(px-1,py)<7 Then If zap<1 Then move=3 zap=1 frame=1 EndIf EndIf EndIf If KeyDown(205) Then If map(px+1,py)<7 Then If zap<1 Then move=4 zap=1 frame=0 EndIf EndIf EndIf DrawImage maus,MouseX(),MouseY() If MouseHit(1) nr=nr+1 schuss(nr,0)=1 schuss(nr,1)=ppx+16 schuss(nr,2)=ppy+16 schuss(nr,3)=winkel-90 EndIf If nr=50 Then nr=0 For i=0 To 50 If schuss(i,0)=1 DrawImage kugel,schuss(i,1)-scrollx,schuss(i,2)-scrolly schuss(i,1)=schuss(i,1)+(Cos(schuss(i,3)*-1)/10)*300 schuss(i,2)=schuss(i,2)-(Sin(schuss(i,3)*-1)/10)*300 EndIf Next For sd=1 To 300 If zivi(sd,0)=1 Then DrawImage mann,zivi(sd,1),zivi(sd,2) EndIf Next Text 100,100,schuss(1,1) UpdateWorld RenderWorld Flip Wend Function load() karte$ = ReadFile("map1.map") For x = 0 To 200 For y = 0 To 200 tile = ReadLine(karte$) map(x,y) = ReadInt(karte$) Next Next CloseFile(karte$) End Function /edit:jetzt isser eingerückt!plz hlp! |
||
BB-coden was das Zeug hällt!!!! |
zocker2150 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Bin mir net sicher aber wieso hast du hier
Code: [AUSKLAPPEN] For i=1 To 300
Repeat zx=Rand(0,100) zy=Rand(0,100) If map(zx,zy)=2 Then zivi(i,0)=1 zivi(i,1)=zx*32 zivi(i,2)=zy*32 [b] Exit[/b] EndIf Forever Next ein Exit in der If abfrage? Das würde ja heißen, dass du die For Schleife abbrichst, wenn der erste zivi erfolgreich gezeichnet wurde? Versuchs mal ohne Exit vielleicht geht´s ja dann schon ![]() |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Damit er wieder aus der Repeat...Forever rauskommt ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
zocker2150 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Und du bist dir sicher, dass EXIT nur die Repeat-Schleife verläßt und nicht auch die For-Schleife??![]() |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jup.
Edit: Um Missverständnissen vorzubeugen: Ein Exit beendet prinzipiell alle Arten von Schleifen, aber nur diese eine in der es sich auch befindet. |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
zocker2150 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ah wieder was gelert. thx
Nochmal zu der schleife. Was will der mit den Zahlen den machen die da rauskommen? Die sind ja viel zu groß oder? |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das sind die absoluten Pixelpositionen, also dort wo der Zivi dann auch aufm Bildschirm ist. Oder sein sollte ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group