Programmieren - alles kontrollieren 4.939 Themen, 20.672 Beiträge

Frage zu Delphi 7 - mal wieder ;-)

KoRny Boy / 7 Antworten / Flachansicht Nickles

moin moin,

ich hab in einem Programm das ich mit Delphi 7 programmiere(also es soll ein kleines Spiel werden) folgende Vorstellung wie es funktionieren soll:

- 4 Planeten
- 2 Spieler mit verschiedenen Werten(Rohstoffe, Militäreinheiten,...)

Jetzt bin ich dabei, dafür ein Object zu definieren:

Type
Planet = Object
Spieler1 : Record // Spieler1 = Mensch
{Variablen für
Rohstoffe, Miltär,
Wirtschaft,...}
End; // End Of Record
Spieler2 : Record // Spieler2 = Computergegner
{Variablen für
Rohstoffe, Miltär,
Wirtschaft,...}
End; //End Of Record
End; // End Of Object

Var
Planet_ : Array [1..4] Of Planet

dann möchte ich später das im folgenden Sinne verwenden:

Planet[1].Spieler[1].Gold := x;
oder
Planet[4].Spieler[1].Gold := y;

halt so, dass die Werte der Variablen vom Planeten, den der Spieler besitzt, abhängt, aber trotzdem beide einem Spieler zugeordnet sind...

Jetzt finde ich das aber unprofessionell dass ich die Variablen alle doppelt deklarieren muss. Also dachte ich an einen Array[1..2](Also dann Player[1].Gold zum Beispiel und Player2.Gold) des Records, aber das ist nicht möglich, bzw ich weiß nich wie man das programmiert...

Ich hoffe ich konnte meine Vorstellung einigermaßen klar darstellen.
Wäre nett wenn mir da jemand weiterhelfen könnte...

MfG KoRny Boy

Wer anderen eine Grube gräbt ist selbst ein Schwein
bei Antwort benachrichtigen
KoRny Boy Nachtrag zu: „Okay.....das werd ich mir dann mal in ruhe reinziehn... Hab 1000 Dank ich nehm...“
Optionen

hmmmmmmmmm.....

type TWirtschaft1 = Object
Menge,
Ertrag : Integer;
Kosten:Record
Energie,
Metall : Integer;
End; //End Of Record
End; // End Of TWirtschaft1

type TMilitaer1 = Object
AP : Integer;
Menge : LongInt;
End; // End Of TMilitaer1

type TPlanet = Object
Name,
Besitzer : String[20];
Metall,
Energie : LongInt;
Kernkraftwerk,
Metallmine : TWirtschaft1;
Raumsoldat,
Scharfschuetze,
Transportschiff,
Kriegsraumschiff,
Flugabwehrkanone,
Atombombe : TMilitaer1;
End; // End Of TPlanet


var
Planet : Array [1..4] Of TPlanet;


erst war TPlanet eine class....dann hatte ich irgendein problem damit und hab dann einfach mal "class" durch "object" ersetzt....der compiler schluckt das ;-) ....

@Andreas: ich glaub, dass das hier nicht deinen Ansätzen entspricht, aber irgendwie funktioniert das...aber ich kann mir vorstellen, dass ich das ziemlich unpraktisch mache......

ich wünsche also ein wenig kritik....was kann ich daran besser machen? oda @Andreas , kannst du das mit der class und so was ich nich so ganz gecheckt hab, an Hand dieser Vorlage irgendwie mir deutlich machen, ganz vllt, wenn du nochmal zeit dafür opfern könntest.......

also bis denn

KoRny Boy

Wer anderen eine Grube gräbt ist selbst ein Schwein
bei Antwort benachrichtigen