Autor Beitrag
HenryHux
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 542
Erhaltene Danke: 33

Windows 7 Premium
Delphi XE, Eclipse
BeitragVerfasst: Do 18.08.11 16:57 
Hey,

habe nach ein paar Monaten mein Delphi wieder ausgegraben und habe schon die ersten Fragen.
Und zwar habe ich einen kleinen Planungsfehler bei einem Spiel, an welchem ich mich versuchen will.
Ich habe im Moment ein paar Units mit ein paar Klassen.
Eine Unit umfasst eine Klasse (TSeat), welche Informationen über die einzelnen Spieler beinhaltet.
Die einzige Instanz dieser Klasse findet man in TGame, welche den Spielablauf steuert.
TGame wiederum wird dann vom Hauptprogramm ausgeführt.
Bis dahin klappt alles super, ich habe aber vergessen, dass die Gegner ja auch irgend etwas tun sollten.
Also eine neue Klasse (TAction), welche die Spielzüge berechnen soll.
Die wird von TGame aus gestartet. Mein Problem ist die Datenübergabe. TSeat kann ich ja übergeben, aber ich habe eine längere Variablenliste in TGame und dazu einige Prozeduren, die ich gerne in TAction benutzen würd.
Aus TAction kann ich soweit ich weiß nicht auf TGame zugreifen und ich möchte auch ungern alle Prozeduren neu schreiben/anpassen.
Kriege meine Gedanken gerade selber nur etwas schwierig geordnet :?:

Über Hilfe freue ich mich wie immer,

lg
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 18.08.11 17:02 
Die Billiglösung: Pack deine Felder aus TGame in einen Record TGameState, den du dann deiner anderen Klasse locker überreichen kannst. ;-)

Je nach Delphiversion und -edition kannst du das einfach per visuellem Verschieben in der Modellierung erledigen.

Vermutlich wäre aber ein anderes Klassendesign sinnvoller, aber wie genau kann ich so allgemein schlecht sagen.