Seite 3 von 6
Verfasst: 14.08.2007 19:00
von NicTheQuick
Code: Alles auswählen
Struc = "lllffdllllsllll"
c = ReadLong(1)
ClearList(Ant())
For i = 0 To c
AddElement(Ant())
ReadStructure(1, Ant(), @Struc)
Next
Ich würde bei Ant() noch ein @ davorsetzen:
ReadStructure(1, @Ant(), @Struc)
Und du weißt auch, dass du einen Datensatz mehr ausliest als c angibt,
weil du in deiner For-Schleife bei 0 beginnst?
Ich hätte eher gedacht, dass da folgendes stehen sollte:
Code: Alles auswählen
Struc = "lllffdllllsllll"
c = ReadLong(1)
ClearList(Ant())
For i = 1 To c
AddElement(Ant())
ReadStructure(1, @Ant(), @Struc)
Next
Verfasst: 14.08.2007 19:18
von Scarabol
Ok, vielen dank Leute dank euch funktioniert jetzt die Speichern Funktion in meinem neuen Game!!!
Werde euch bei Gelegenheit lobend erwähnen
und natürlich am Gewinn beteiligen
Gruß
Scarabol
Verfasst: 14.08.2007 20:02
von Scarabol
Währe auch super, wenn man in der Struc noch einen Pointer einbauen könnte.
Weiß grad nicht genau wie man sowas genau macht, vielleicht mit Random(), da die wahrscheinlichkeit ja ziemlich klein ist, das zwei Werte übereinstimmen.
Dann müsste das auch irgendwie beim Laden wieder aktualisiert werden...
Gruß
Scarabol
Verfasst: 14.08.2007 20:14
von PMV
Scarabol hat geschrieben:Währe auch super, wenn man in der Struc noch einen Pointer einbauen könnte.
Weiß grad nicht genau wie man sowas genau macht, vielleicht mit Random(), da die wahrscheinlichkeit ja ziemlich klein ist, das zwei Werte übereinstimmen.
Dann müsste das auch irgendwie beim Laden wieder aktualisiert werden...
Gruß
Scarabol
hä? sorry, noch mal langsam bitte
... also das mit den Pointern hab ich noch verstanden. Du kannst für nen
Pointern ein "l" schreiben, da PB (noch) 32 Bit ist, ich hatte es mal so
gelöst, das ich per IfCompiler nachgeprüft hab, ob die Strukturgröße für
Pointer 4 oder 8 ist und dann anstelle von "l" nen "q" reinschreiben ließ,
obwohls noch sinnlos ist. Aber egal.
Das was mich stutzig macht ist allerdings, Pointer in zusammenhang mit
dem Speichern. Pointer (Zeiger) sind Adressen von Variablen,
Prozeduren usw. zur Laufzeit des Programms. Diese können nicht
gespeichert werden, bzw. sind diese Adresse dann nutzlos.
War das so gemeint?
MFG PMV
Verfasst: 14.08.2007 20:45
von Scarabol
Ja war genau so gemeint, aber die Pointer stehen ja für ein bestimmtes Element, das man zumindest bei Linked Listen als listindex speichern kann.
Aber bei den anderen sieht es wohl nicht so aus als ob man das irgendwie speichern könnte oder?
Gruß
Scarabol
PS
Das die Pointer laufzeitabhängig sind is mir klar.
Verfasst: 14.08.2007 20:56
von PMV
Na du musst schon den Inhalt der Variablen speichern.
Wenn du den Inhalt deiner Listenelemente getrennt speicherst, reicht
natürlich der Index des entsprechenden Listindexes. Ich hab mir dein
Spiel erlich gesagt noch nicht angeschaut ... kommt aber sicher nocht

... auf jeden fall weis ich nicht, was du wie wo speichern willst. Natürlich
musst du Werte, die mehrmals vorkommen, nicht mehrmals abspeichern,
dann musst du dir aber überlegen, wie du einen "Verweis" in die Datei
bekommst, welchen du auch wieder auslesen kannst.
Hoffe ich hab mich so ausgedrückt, dass du verstehst, was ich meine.
Manchmal hab ich da so meine Talente
MFG PMV
Verfasst: 14.08.2007 20:58
von ts-soft
Ein Pointer sieht so aus:
Ein Pointer hat niemals den Typ einer einfachen Variable! Lediglich eine
Struktur kann man ihm zuordnen, um das dereferenzieren zu erleichtern, also
Verfasst: 14.08.2007 21:09
von Scarabol
Ok danke Leute,
werd den Listenindex speichern.
@PMV
Ist nicht so schlimm, ist alles sowieso noch BETA, also kaum spielbar.
Gruß
Scarabol
Verfasst: 06.09.2007 22:45
von Scarabol
Hallo Leute,
hab noch eine Idee zum Code, da der Programmierer an sich ja eher dazu neigt alles zu automatisieren und bequem zu halten, wiedert es mich regelrecht an bei jeder Änderung der Struktur (was im Moment sehr häufig vorkommt, da BETA) den String zu ändern.
Bitte daher um Abhilfe...
Achja nochwat in meinen Strukturen verwende ich nur Float, Long, und Strings, die ja alle 4 Byte belegen, aber wie muss ich die Procs dafür ändern???
Gruß
Scarabol
Verfasst: 06.09.2007 23:30
von NicTheQuick
Es gibt keine Abhilfe, mit der man den String weglassen kann oder mit der er
sich automatisch generiert. Außer du schreibst dir ein Programm, das deine
Strukturen als PB-Code einliest und den zugehörigen String ausgibt.
Wenn du nur Floats, Longs und Strings benutzt, dann streich die anderen
Sachen einfach raus. Du siehst ja wie das mit 'Select' umgesetzt ist. Aber im
Grunde erfährst du keinen sonderlichen Geschwindigkeitszuwachs, wenn du
das, was du nicht benutzt, raus nimmst. Lass es doch einfach drin.