AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Spielstand speichern mit ini(s)!

Ein Thema von Torley · begonnen am 15. Mär 2008 · letzter Beitrag vom 16. Mär 2008
 
Torley

Registriert seit: 24. Jan 2008
Ort: Freudenberg
39 Beiträge
 
Delphi 6 Professional
 
#1

Spielstand speichern mit ini(s)!

  Alt 15. Mär 2008, 18:47
Abend

ich bins mal wieder.
Ich bastle so grade an meinem Snake für meine Hausarbeit da kam mir die Idee den Spielstand speicherbar zu machen.
Nur leider bekomm ich desöfteren bei meiner etwas einfachen Speichermethode fehlermeldungen beim Programm ablauf.
Es werden plötzlich sachen als falsch bezeichnet die schon ewig liefen.

Hier mal etwas code:
Delphi-Quellcode:
//erstmal das einlesen der sektionen in eine listbox
ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+'..\DATA\save.ini');
  i:=1;
  while ini.SectionExists('Savegame'+inttostr(i))do
   begin
    ListBox1.Items.add(ini.ReadString('Savegame'+inttostr(i),'Name','Error'));
    i:=i+1;
   end;
  ini.free;
//nach dem auswählen dann das laden
if not ListBox1.ItemIndex < 0
   then
    begin
     ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+'..\DATA\save.ini');
     inisection:= ini.ReadString('Savegame'+inttostr(ListBox1.ItemIndex+1),'Secname','Error');
     label3.Caption:= inisection;
     //...
     Points := ini.ReadInteger(inisection,'Points',0);
     Money := ini.ReadInteger(inisection,'Money',0);
     //...
     ini.free;
    end;
//so danach öffnet sich das spiel und ich kann auch mit den ständen spielen
//beim speichern werden wieder die sektionen in eine listbox geladen wie oben
//und so speicher ich dann
 ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+'..\DATA\save.ini');
 ini.WriteInteger(inisectionsav,'Points',Points);
 ini.WriteInteger(inisectionsav,'Money',Money);
 ini.free;
 showmessage('Spielstand erfolgreich gespeichert!');
SO hier die ini datei zum besseren verstehen: (etwas gekürzt)
[Savegame1]
Name=Torley
Secname=Savegame1
...
Points=1
Money=0
...

Das ist ziemlich einfach gestalltet und geht auch solang man nicht einen neuen spielstand anfertigen will. im moment kann man nur auf alte speichern weil ich nicht weiß wie die sectionen heißen. ich habe schon gedacht mir eine weitere datei zu machen wo die sektionennamen drinnen stehen und ich dann die sektionen aus der datei in der richtigen speicherdatei such. da kommt aber wieder das problem mit den wertnamen. die müssen ja fortlaufend sein also so:
section1
section2
section3

ich kann doch net eine schleife machen die, was weiß ich, bis 100 zählt:
for i:=1 to 100 do
...'section'+inttostr(i);

kennt jemand eine bessere methode spielstände einfach aber efizient zu speichern?
es sollte nciht zu schwer sein damit ich es selbst verstehe und noch werte hinzufügen kann, weil ich ja noch 4 wochen zeit habe zum weiter basteln.
ich werde es vorraussichtlich auch in 2-3 wochen hier zum kritisieren vorstellen.
[lol]es soll ja perfekt werden für die arbeit^^[/lol]

Mit Freundlichen Grüßen

Torley
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz