Variablen und Felder

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Takashi Kenshin

Betreff: Variablen und Felder

BeitragSo, Sep 23, 2007 22:26
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo ich bin bei dem robs bb kurs 2 gerade bei variablen und felder, ich versteh allerdings nicht was ich damit machen kann und wozu die dimensionen sind und was für einheiten gemeint sind.

Dim feld(100,100)

feld(13,13) = 23
feld(46,5) = 529
feld(44,14) = 1949

Print feld(13,13)
Print feld(46,5)
Print feld(44,14)

wozu zwei zahlen in einer klammer wenn mit einer der selbe effekt erzielt wird?
und es steht das die dimensionen für die einheiten festgelegt werden muss aber was für einheiten?
und wozu das umwandel der variablen gut ist versteh ich auch nicht bzw. weiß ich nicht wo man sie einsetzt(#,$) ?
Das Exponenzielle Volumen subterraner Agrarprodukte, steht in reziproker Relation zur geistigen Kapazität des kultivierenden Agronoms. Oder Kurz gesagt: Der dümmste Bauer hat die dicksten Kartoffeln.

kriD

BeitragSo, Sep 23, 2007 23:29
Antworten mit Zitat
Benutzer-Profile anzeigen
naaa gut.. (folgendes hättest du auch gut selbst herausfinden können (OH und weiteres..))

felder sind dazu da, viele daten zu speichern..
man definiert sie so:
Dim feld1 (19)
dabei ist Dim der befehl zum array (feld)-definieren. feld1 ist die variable. und die 9 in den klammern sagt, wiviele einträge man in dieses feld (feld1) machen kann... es sind in diesem fall genau 20 einträge (von 0 bis 9).weil in der kammer nur eine zahl steht ist es ein 1-Dimensionales feld (so zu sagen eine liste). wenn man 2 zahlen (durch komma getrennt) in die klammern schreibt, dann erhält man ein 2-Dimensionales feld.. (z.B: Dim mapdaten (12,33) (das wär jetz ein felt mit 13*34=442 einträgen).natürlich gibt es auch 3- oder gar 4-Dimensionale felder (je mehr zahlen in der klammer, dest mehr dimensionen). dabei musst du aufpassen.. nehmen wir an, du machst ein feld: Dim meintollesfeld (99,99,99,99), weil du viele daten speichern willst..
das feld hat denn aber 100*100*100*100 also 100000000 (=ziemlich viele) einträge (und jeder eintrag kostet speicher..), da kann dein progg schonma ziemlich lahm werden...
wenn du jetzt float doer stringwerte speichern willst, dann schreib einfach: Dim stringspeicher$ (9,3) (o.ä) oder Dim floadfeld_asdf# (1337) (der variablennahme ist übrigens egal (der nach dem Dim)).

so..

im prog kannst du eingespeicherte einträge aufrufen, indem du die zahle(n) eingibst, unter der der wert gespeichert ist..
z.B:

Code: [AUSKLAPPEN]
Dim map (4,4) ;jetzt ist das feld neu deklariert, also leer (überall nullen gespeichert)
map (0,0)=1337 ;der wert an der stelle 0,0 in dem feld map wird auf 1337 gesetzt
map(3,2)=12 ;dreimal darfst du raten: der wert an der stelle 3,2 im feld=12
;das könnte man noch so weitermachen..
;bis jetzt haben nur 2 einträge im feld map einen wet zugewiesen bekommen... die anderen werte sind ;noch 0...

;einträge abrufen:
text 0,0,map (0,0) ;1337 wird angezeigt
text 0,20,map (1,1) ;0 wird angezeigt, weil keinen wert an der stelle 1,1 zugewiesen bekommen
text 0,40,map (3,2) ;12
text 0,60,map (3,4) ;0
;text 0,80,map (8,1) dürfte man nicht machen, weil das feld ,ap nicht 8 sondern 4 einträge hat..


ich hoffe ein (oder 2) licht(er) geht (gehen) auf..

MfG kriD
Wenn ich du wäre, wäre ich lieber ich!
 

Takashi Kenshin

BeitragSo, Sep 23, 2007 23:50
Antworten mit Zitat
Benutzer-Profile anzeigen
ja hat auf jedenfall ein wenig geholfen, das dient also nur um große massen abzuspeichern und dann einfach überall wieder abrufen zu können damit man nicht wieder alles schreiben muss. richtig?
Das Exponenzielle Volumen subterraner Agrarprodukte, steht in reziproker Relation zur geistigen Kapazität des kultivierenden Agronoms. Oder Kurz gesagt: Der dümmste Bauer hat die dicksten Kartoffeln.

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMo, Sep 24, 2007 0:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Arrays kannst du für vielerlei benutzen. Ein zweidimensionaler Array wird meistens für Maps benutzt. Jeder Eintrag gibt dann das Tile (Kachelbild/Teilbild) wieder, aus welcher Kombination letztendlich der Level eines Spieles aufgebaut wird.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

kriD

BeitragMo, Sep 24, 2007 18:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
ja hat auf jedenfall ein wenig geholfen, das dient also nur um große massen abzuspeichern und dann einfach überall wieder abrufen zu können damit man nicht wieder alles schreiben muss. richtig?


Ja, stimmt.die Felder sind dafür gedacht, Massen an Variablen abzuspeichern.
(Und da kann man wirklich einen Haufen mit Speichern.^^)..

Mfg kriD
Wenn ich du wäre, wäre ich lieber ich!

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group