Tile Map berechnung?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

blackmaster

Betreff: Tile Map berechnung?

BeitragMi, Jun 28, 2006 19:35
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo leute,
ich bin neu hier im Forum und hab auch schon ein Problem mit der Map Crying or Very sad

ich möchte einfach überprüfen ob im Feld X position 2 gleiche tile besteht, ich habs mal so probiert:

also ich habe ein Dim Feld mit 13*13 Felder

und habe ein Function geschrieben der alle Felder Durchgeht und das überprüft:

Code: [AUSKLAPPEN]
Function Feld_Checken()

  Return 0

  For Fy_pos=0 To 12
    For Fx_pos=0 To 12
      If Feld(Fx_pos,Fy_pos) = 1 Then
        If Feld(Fx_pos+1,Fy_pos) = 1 Or Feld(Fx_pos+2,Fy_pos) = 1 Or Feld(Fx_pos+3,Fy_pos) = 1 Then ;u.s.w. bis +13
          Return(0)
        EndIf
      EndIf
    Next
  Next

  Return(1)

End Function


aba ich weiss net ob man so Die Felder von Links nach Rechts prüft ob sich 2 gleiche Felder befinden, z.B.

Data 0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,1,0,0,0,0,1,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,2,0,0,0,0,0,0
Data 0,0,0,0,5,0,0,0,0,0,0,0,0
Data 0,0,1,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,4,0,0,0,0,0
Data 0,0,0,3,0,0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0,0,0,0,0,0

also das 3.te Data Feld da sind 2 einser drin, wenn dies der fall ist dann soll ein Text erscheinen z.B. "Verloren"

Ich bin euch sehr Dankbar wenn ihr mein Problem lösen könnt.

MFG Chris
  • Zuletzt bearbeitet von blackmaster am Mi, Jun 28, 2006 21:27, insgesamt einmal bearbeitet
 

blackmaster

BeitragMi, Jun 28, 2006 21:04
Antworten mit Zitat
Benutzer-Profile anzeigen
weiss denn keiner wie ich das berechne?

PSY

BeitragMi, Jun 28, 2006 22:11
Antworten mit Zitat
Benutzer-Profile anzeigen
hoi,

machs z.b. so:

Code: [AUSKLAPPEN]
Function Feld_Checken()

  For Fy_pos=0 To 12
    For Fx_pos=0 To 11
      counter=fx_pos+1
      While counter<13
           if feld(fx_pos,fy_pos) = feld(counter,fy_pos) And feld(fx_pos,fy_pos)<>0 Then Return(1)
         counter=counter+1
      wend   
     Next
  Next

  Return(0)

End Function


wegen
Code: [AUSKLAPPEN]
And feld(fx_pos,fy_pos)<>0
werden keine nullwerte berücksichtigt, ich hab das gemacht da deine felder voller nullen sind. wenns das später nicht der fall ist, musst die die abfrage rausnehmen



return(0) am anfang deiner function bewirkt übrigens, dass diese sofort verlassen wird Wink

l8er,
psy
 

blackmaster

BeitragDo, Jun 29, 2006 15:57
Antworten mit Zitat
Benutzer-Profile anzeigen
cool ich danke dir, es klappt wunderbar Very Happy

MFG Chris

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group