Dim-Feld in Type

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Blitzprogger

Betreff: Dim-Feld in Type

BeitragDi, Feb 21, 2012 18:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi
Gibts eine Möglichkeit ein Dim-Feld in einer Type zu erstellen?
Soetwas wie: Code: [AUSKLAPPEN]
Type Map
    Field Name$
    Field Tiles(x,y)
End Type

Hoffe das geht. Confused

mfg, Blitzprogger
Mein aktuelles Projekt, Irnithal: http://www.blitzforum.de/worklogs/415/

Unfreiwilliger Gewinner des BAC# 115. Wink

Xeres

Moderator

BeitragDi, Feb 21, 2012 18:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Nope. Nur BlitzArrays:

BlitzBasic: [AUSKLAPPEN]
Type Map
Field Name$
Field Tiles%[Const_Size]
End Type
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
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Blitzprogger

BeitragDi, Feb 21, 2012 18:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Schade.

Aber danke für die zügige Antwort. : )

mfg, Blitzprogger
Mein aktuelles Projekt, Irnithal: http://www.blitzforum.de/worklogs/415/

Unfreiwilliger Gewinner des BAC# 115. Wink

Chester

BeitragDi, Feb 21, 2012 18:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein, geht nur andersrum:

Code: [AUSKLAPPEN]
Dim map.Map (x,y)

Wobei das in dem Fall aber recht sinnlos wäre.

In Types selbst gehen nur eindimensionale Blitzarrays (z.B. var[42] ), wenn man sich für die Adressierung eine Umrechungsfunktion schreiben würde, könnte es funktionieren, aber das wäre recht... naja, sinnlos, wenn man auch einfach ein Dim Feld nehmen kann. (Ich vermute mal, du wirst keine 2 Maps gleichzeitig geladen haben, und selbst wenn, kannst du die immer noch als Dim Layer speichern.

PSY

BeitragMi, Feb 22, 2012 22:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Hoi,

manchmal kanns schon nuetzlich sein, arrays aus type-containern zu erstellen.
vllt kannst du's ja doch fuer dein projekt brauchen.
beispielcode:

Code: [AUSKLAPPEN]
; TYPE = FELD AUF SPIELBRETT
Type Feld
   Field wert#
   Field x%
   Field y%
   Field farbe$
End Type

; SPIELBRETT ERSTELLEN
Dim Spielbrett.Feld(20,20)

; FELD ERSTELLEN UND MIT WERTEN FUETTERN
Spielbrett(4,2)       = New Feld
Spielbrett(4,2)\wert  = 1337.23
Spielbrett(4,2)\x     = 4
Spielbrett(4,2)\y     = 2
Spielbrett(4,2)\farbe = "GELB"

; IRGENDEINE EIGENSCHAFT EINES FELDS AENDERN
Spielbrett(10,11)\wert = 42.00

; IRGENDEIN FELD LOESCHEN
Delete Spielbrett(17,9)


l8er,
PSY
PSY LABS Games
Coders don't die, they just gosub without return

skey-z

BeitragMi, Feb 22, 2012 22:37
Antworten mit Zitat
Benutzer-Profile anzeigen
@PSY
wobei ich nicht unbedingt x und y als Werte noch einmal im Type speichern würde, da du es ja schon über das Dim-Feld machst, es sei den es gibt einen wichtigen Grund, als Beispiel wenn du das Spielfeld öfters durch gehst ohne auf das Feld zu zugreifen.
Aber das sollte eher seltener passieren.
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter

PSY

BeitragMi, Feb 22, 2012 22:46
Antworten mit Zitat
Benutzer-Profile anzeigen
@skey-z
Stimme ich zu. Aber es gibt halt Situationen, wo es ganz nuetzlich sein koennte, zB wenn Du alle Y-Positionen der ersten 30 erstellten Felder brauchst (es wurden mittlerweile 5000 Felder in zufaelliger Reihenfolge mit zufaelligen Koordinaten erstellt).
Das Beispiel ist halt grad schlecht gewaehlt Very Happy
Aber kann man ja spaeter x und y wieder rausnehmen, wenn man feststellt dass man's nicht braucht.
Wollte es halt ziemlich allgemein halten Wink

l8er,
PSY
PSY LABS Games
Coders don't die, they just gosub without return

Blitzprogger

BeitragDo, Feb 23, 2012 14:43
Antworten mit Zitat
Benutzer-Profile anzeigen
@PSY:
Scheint mir etwas umständlich deine Methode für die Situation in der ich sie brauche. Es geht ja darum mehrere Maps gleichzeitig geladen zu haben, von denen je nur eine angezeigt werden soll. Ich müsste also da nochmal wie alle Types (zb. vom Feld Spielbrett.Feld(69,24)) nochmal abchecken ob sie überhaupt zur benötigten Map gehören. Ich habe das Gefühl das geht dann ziemlich auf die Leistung/Geschwindigkeit des Programms.

Ich versuche jetzt das ganze so zu lösen, dass ich immer nur eine Map in einem Dim stehen habe und die anderen in temporären Dateien stehen habe, die geladen werden, wenn sie gebraucht werden.

mfg, Blitzprogger
Mein aktuelles Projekt, Irnithal: http://www.blitzforum.de/worklogs/415/

Unfreiwilliger Gewinner des BAC# 115. Wink

PSY

BeitragDo, Feb 23, 2012 16:14
Antworten mit Zitat
Benutzer-Profile anzeigen
@Blitzprogger

Ah ok. Ich kannte Deine aktuelle Situation nicht Very Happy
Habs bloss erwaehnt, weil ich dachte es koennte Dir eventuell nuetzlich sein.

Vllt kanns ja ijemand mal zu was brauchen Wink

L8er,
PSY
PSY LABS Games
Coders don't die, they just gosub without return

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group