Dynamiches Feld mit Banken
Übersicht

MatthiasBetreff: Dynamiches Feld mit Banken |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hay. Ich habe da ein kleines Problem und weiß auch nicht mehr weiter.
Und zwar geht es um ein Feld mit 6Dimensionen. Allerdings kann ich dafür kein Dim Feld verwenden weil dieses Speicher frist, obwohl keine Daten enthalten sind. Also habe ich es mit verschachtelte Banken versucht. Und solange wie ich auch jede Bank einen Kostanten länge gebe klappt es auch. Aber ich will eigentlich das die bank erst dann entsprechend vergrößert werden wenn es notwendig ist. Und das klappt ebend irgendwie nicht. Also hier mal der Code. Code: [AUSKLAPPEN] Global ScrX=800,ScrY=600 Graphics ScrX,ScrY,32,2 Dim Sets(1000) TIDa(20,0,0,4,0,0,20) TIDa(22,0,5,0,0,0,40) AppTitle TIDa(22,0,5,0,0,0,-1) ;TIDb(20,0,0,4,0,0,20) < ;TIDb(22,0,5,0,0,0,40) <Hier fehler ;AppTitle TIDb(22,0,5,0,0,0,-1) < SetBuffer BackBuffer() Repeat Flip Until KeyDown(1) End Function TIDa(S,U,X,Y,F,D,W) U=U*4:X=X*4:Y=Y*4:F=F*4:D=D*4 Select Sets(S):Case 0:Sets(S)=CreateBank(500):End Select B1=PeekInt(Sets(S),U) Select B1:Case 0:B1=CreateBank(500):PokeInt(Sets(S),U,B1):End Select B2=PeekInt(B1,X) Select B2:Case 0:B2=CreateBank(500):PokeInt(B1,X,B2):End Select B3=PeekInt(B2,Y) Select B3:Case 0:B3=CreateBank(500):PokeInt(B2,Y,B3):End Select B4=PeekInt(B2,Y) Select B4:Case 0:B4=CreateBank(500):PokeInt(B3,F,B4):End Select Select W:Case -1:Return PeekInt(B4,D):Default:PokeInt(B4,D,W):End Select End Function Function TIDb(S,U,X,Y,F,D,W) U=U*4:X=X*4:Y=Y*4:F=F*4:D=D*4 Select Sets(S):Case 0:Sets(S)=CreateBank(4):End Select Select U=>BankSize(Sets(S)):Case 1:ResizeBank(Sets(S),U+4):End Select B1=PeekInt(Sets(S),U) Select B1:Case 0:B1=CreateBank(4):PokeInt(Sets(S),U,B1):End Select Select X=>BankSize(B1):Case 1:ResizeBank(B1,X+4):End Select B2=PeekInt(B1,X) Select B2:Case 0:B2=CreateBank(4):PokeInt(B1,X,B2):End Select Select Y=>BankSize(B2):Case 1:ResizeBank(B2,Y+4):End Select B3=PeekInt(B2,Y) Select B3:Case 0:B3=CreateBank(4):PokeInt(B2,Y,B3):End Select Select F=>BankSize(B3):Case 1:ResizeBank(B3,F+4):End Select B4=PeekInt(B2,Y) Select B4:Case 0:B4=CreateBank(4):PokeInt(B3,F,B4):End Select Select D=>BankSize(B4):Case 1:ResizeBank(B4,D+4):End Select Select W:Case -1:Return PeekInt(B4,D):Default:PokeInt(B4,D,W):End Select End Function |
||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nur so als kleine Frage, die mir gerade so durch den Kopf schwirrte...
Wozu in aller Welt brauchst du bitteschön ein 6-dimensionales Feld? Braucht deine Tilemap noch die Zeit, alle Zustände innerhalb einer linearen Zeitskala sowie alle Entwicklungsmöglichkeiten für jeden Zustand innerhalb der Zeitskala? |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
Matthias |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Naja. Ich habe mir das so vorgestellt.
Jedes Set(1D) hat Untersets(2D) aus dennen wird zb bei LandTiles ein Tiles zufällig ausgewählt beim Setzen, damit der Wiedererkenungswert nicht so hoch ist. Jedes dieser TilesSets hat nun eine XGröße(3D) und eine YGröße(4D). Sowie mehrere Frames(5D) die nach einen Bestimmten Zeitzyklus geflippt werden. Zusätzlich soll mann jedes Frame des einzelnen Tiles auch noch rückgängig(6D) machen können so 10 mal wenn mann es gezeichnet hat. Auf dem Bild kann mann das schon erkennen mit den Untersetzs https://www.blitzforum.de/gallery/?image=768 |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group