Thema: Delphi OOP und RPG

Einzelnen Beitrag anzeigen

Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#23

Re: OOP und RPG

  Alt 3. Nov 2005, 23:08
Zitat von Speedmaster:
Versuch mal DirectX ohne emulator auf Linux zum laufen zu bekommen. Oder schreib mir mal ein Game mit Brainf*ck( Ok schlechtes Beispiel ), sicherlich hat jeder Vorlieben, aber warum nichts neues Probieren?
Äh, was neues probieren ist super (auch Coke bei 5°C, echt lecker), aber man muss ja nicht alles neu machen. OOP ist sicher neu und man findet auch in ein und der selben Sprache bei jedem Lauf (bestimmt) mal was neues, aber du hast schon recht, zu OT.
Zitat:
Gut... dann wären da wieder Fragen: Wie geht das mit dem Vererben, bzw. wie stelle ich das am blödsten an?
Und... wie kann ich dann so eine Art ZIP-Archiv ertsllen?
Wegen den verschiedenen Dateien:
Ich hatt ja schonmal ein RPG versucht
Da hab ich dann eben für jeden Charakter/Avatar einen exra Ordner angelegt, in dem jede Menge Dateien waren ^^
Und... wie kann ich "streamen"? Wie schwer ist das?
Ja, das "streamen" an sich ist wirklich sehr einfach. Du kannst da wirklich gut die Hilfe von Delphi (TMemoryStream, TFileStream) benutzen. Du hast wirklich nur ein Objekt, dass Stream heißt und kannst beliebige Daten wegschreiben. Die liegen halt als Array von Bytes im Speicher (z.B. in einer Datei). Beim lesen hast du dann aber auch nur eine Menge Bytes. Du solltest also überlegen, welche Bytes eigentlich zusammen gehören (z.B. ein Integer sind) und die dann sinnvoll auslesen. Aber es ist echt flink. Einfach auch, aber halt mehr von der Art des Zugriffs.
Was das zippen angeht, es gibt ein paar Komponenten die das können. Hab leider im Moment keine, die ich verwende. Aber du findest mit googlen oder hier suchen sicher schnell was passendes. Und da ist es eigentlich die Regel, dass die in einer Datei beliebig viele weitere speichern können. Würde dir dazu raten, dann eine Datei für die NPCs, eine für die Quests usw. anzulegen. In den Dateien kannst du dann (hoffentlich) die gespeicherten Daten immer gleich strukturiert (also gleich groß) ablegen, dass macht das lesen schonmal leichter.

Was das Vererben angeht, auch dass ist eigentlich sehr einfach. Du hast eine Klasse
Delphi-Quellcode:
type
  TBaseClass = class(TObject)
    private
      // Felder & Methoden die nur TBaseClass sehen soll
    protected
      // Felder & Methoden die beim vererben auch von der erbenden Klasse gesehen werden
    public
      // Felder & Methoden die jeder sieht
  end;
Beim ableiten schreibst du die Basisklasse (immer nur eine möglich) in die Klammern hinter class

Delphi-Quellcode:
type
  TCharacter = class(TObject)
    protected
      job : TJob;
      aussehen : TAussehen;
      procedure doFoo();
    public
      constructor create(...);
      destructor destroy; override;
  end;

  TNpc = class(TCharacter)
    private
      building : TBuilding;
    public
  end;
wobei dann TNpc auch das Feld aussehen, job und die Methode doFoo hat, zusätzlich halt auch building.
  Mit Zitat antworten Zitat