Tutorial zu arrays
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
wie sollte es das können?
ein 32bit - system kann maximal 4GB speicher verwalten (2^32byte = 4GB) also 4096MB
davon wird beim PC das untere MB für systemkram benötigt, dann hast du noch 4095MB, und das betriebssystem selber muss auch noch wo hin oder nicht?
das ist eine frage der zwingenden logik!
ein 32bit - system kann maximal 4GB speicher verwalten (2^32byte = 4GB) also 4096MB
davon wird beim PC das untere MB für systemkram benötigt, dann hast du noch 4095MB, und das betriebssystem selber muss auch noch wo hin oder nicht?
das ist eine frage der zwingenden logik!
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
> ein 32bit - system kann maximal 4GB speicher verwalten
damit meinte ich systemspeicher.
auf ner festplatte ist das was ganz anderes. man kann auch dateien mit über 4GB erzeugen, wenn das File-system dafür ausgelegt ist, man kann sie nur nicht komplett in den speicher laden.
damit meinte ich systemspeicher.
auf ner festplatte ist das was ganz anderes. man kann auch dateien mit über 4GB erzeugen, wenn das File-system dafür ausgelegt ist, man kann sie nur nicht komplett in den speicher laden.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
ähm ich hab mal 2 Fragen zu den Beispiel code.
1. Wieso muss hier die colliesionsabfrage eigentlich in eine Prozedure ? hatt das was mit den Koordinaten zu tun weil diese ja nicht in Variablen fesstgehalten werden
2.
wieso steht den da a.b bezw. was bedeutet das? is das spalten bezw. Zeilen einteilung oder bedeutet dass was anderes
a = Spalte
b = Zeile ?
1. Wieso muss hier die colliesionsabfrage eigentlich in eine Prozedure ? hatt das was mit den Koordinaten zu tun weil diese ja nicht in Variablen fesstgehalten werden
2.
Code: Alles auswählen
For my=0 To 17
For mx=0 To 24
a.b
Read a
wieso steht den da a.b bezw. was bedeutet das? is das spalten bezw. Zeilen einteilung oder bedeutet dass was anderes
a = Spalte
b = Zeile ?
(nutze v. 3.3)
Die Kollsion ist in einer eigenen Prozedur, weil das guter Programmierstil ist. Glaube mir, wenn du erst einmal längere Programme schreibst wirst du feststellen, dass die unheilich schwer zu lesen sind, wenn du einfach alles in eine Hauptschleife gerotzt hast.
Es gibt ein paar Strukturregeln, die man einhalten sollte für saubere, lesbare und damit wartbare Programme:
- So wenig globale Variablen wie möglich. Achtung: ein paar sind einfach notwendig.
- logisch unterteilt in Funktionen (dinge wie eingabe, kollision, gegnerverhalten, datei ein/ausgabe sollte man unbedingt von einander trennen)
- Finger Weg von Goto. Es mag manchmal sinnvoll sein Goto zu verwenden, aber *NIEMALS* zur Programmablaufsteuerung, höchstens mal um aus eine schleife zu springen, wenn man direkt unter die schleife springt
- ein variablename, funktionsname etc sollte einen hinweis darauf geben was sie enthält bzw macht.
<variablenname>.b bedeutet, dass du den Bytewert der Variablen haben willst. Das hat DD deswegen gemacht, weil er sein Kartenformat mit Bytes aufgebaut hat. Read ist dazu da um aus der Datasection zu lesen (keine Bange, das ist eigentlich nicht kompliziert, schau dir dazu mal die Hilfe an).
Es gibt ein paar Strukturregeln, die man einhalten sollte für saubere, lesbare und damit wartbare Programme:
- So wenig globale Variablen wie möglich. Achtung: ein paar sind einfach notwendig.
- logisch unterteilt in Funktionen (dinge wie eingabe, kollision, gegnerverhalten, datei ein/ausgabe sollte man unbedingt von einander trennen)
- Finger Weg von Goto. Es mag manchmal sinnvoll sein Goto zu verwenden, aber *NIEMALS* zur Programmablaufsteuerung, höchstens mal um aus eine schleife zu springen, wenn man direkt unter die schleife springt
- ein variablename, funktionsname etc sollte einen hinweis darauf geben was sie enthält bzw macht.
<variablenname>.b bedeutet, dass du den Bytewert der Variablen haben willst. Das hat DD deswegen gemacht, weil er sein Kartenformat mit Bytes aufgebaut hat. Read ist dazu da um aus der Datasection zu lesen (keine Bange, das ist eigentlich nicht kompliziert, schau dir dazu mal die Hilfe an).
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
zaphod hat das meiste schon gesagt, besonders punkto prozedural und globale variablen, ich denke es ist klar geworden, dass man eigenes unterscheidungvermögen walten lassen muss.
- spalte/zeile
das hat DD mit mx/my da drin
> collisionsabfrage
mal generell, denk über rein koordinatenbezogene alternativen nach.
http://www.purebasic.fr/german/viewtopic.php?t=9093
(mal werbung in eigener sache)
- spalte/zeile
das hat DD mit mx/my da drin
> collisionsabfrage
mal generell, denk über rein koordinatenbezogene alternativen nach.
http://www.purebasic.fr/german/viewtopic.php?t=9093
(mal werbung in eigener sache)

Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
>mal generell, denk über rein koordinatenbezogene alternativen nach. <
ähm wie meinst du das im array oder allg. (also auf den Screen)
gibt es net nur die eine Möglichkeit (if spritecollison(id,x,y,id2,x2,y2) oder wie meinst du das.
ähm ich hab mal noch eine Frag kann man mehrere Arrays übereinandermachen also beim gestallten einer map erst den untergrund (ob Gras,erde,Metall ect.) und dann eins darüber für Texturen(Grashalme,Sträucher,) oder muss man für jeden möglichen Falle ein einzellnes Sprite zeichnen? (also graß mit grashalm , erde mit Grashalm,...)?
und wie kann man eigentlich animationen auf Arrays Darstellen?
ähm wie meinst du das im array oder allg. (also auf den Screen)
gibt es net nur die eine Möglichkeit (if spritecollison(id,x,y,id2,x2,y2) oder wie meinst du das.
ähm ich hab mal noch eine Frag kann man mehrere Arrays übereinandermachen also beim gestallten einer map erst den untergrund (ob Gras,erde,Metall ect.) und dann eins darüber für Texturen(Grashalme,Sträucher,) oder muss man für jeden möglichen Falle ein einzellnes Sprite zeichnen? (also graß mit grashalm , erde mit Grashalm,...)?
und wie kann man eigentlich animationen auf Arrays Darstellen?
(nutze v. 3.3)