Autor Beitrag
IhopeonlyReader
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: So 26.05.13 14:09 
Guten Tag,
ich habe das Spiel MauMau jetzt soweit fertig (siehe www.entwickler-ecke....ewtopic.php?t=111556 )
Nun geht es daran, den Übergang zwischen Gui und MauMau-Unit zu finden..

Ich habe zum Beispiel die Zeichen-Routine in die Unit gepackt, von der Gui wird nun ein Bitmap übergeben und dann bekommt es die Gui fertig bemalt zurück :)

Bei dem "anklicken" der Karten, ist mir der "nervige" Übergang zwischen Gui und Unit aufgefallen...

In der Unit kenn ich die Form nicht und kann daher auch keine Images oder so erzeugen, wo ein OnClickEvent ausgelöst werden würde.. TForm1 will ich in der GUI lassen !
von der Gui kenn ich die Position der Karten nicht, da ja alles über die Unit verwaltet wird...

Möglichkeit 1:
Im OnClick-Ereignis die Mausposition an die Unit weiterschicken (aus der Gui) und diese "behandlet" also sucht die entsprechende Karte, die sich dort befindet und wertet dann aus...

Möglichkeit 2: Ich übergebe mit dem Create die Form1 an die Unit und so kann ich in der Unit Images erstellen die ein OnClick Ereignis haben...

Aber irgendwie ist das alles ein wenig.. naja blöd :D

Möglichkeit 1 finde ich besser, allerdings muss hier jedesmal "berechnet" werden was sich an dieser Mausposition befindet...

Weitere Möglichkeit: die Koordinaten der Karten an die Gui übergeben und diese setzt dort Images oder so hin.


Warum getrennt ?
Ich trenne Gui und Unit (spiel), da ich vorhabe um die 5 Spiele in 1 Project reinzubringen... wenn ich dort alles in die Gui/ Hauptunit packe, dann wäre es zwar einfacher, aber ebenfalls SEHR unübersichtlich...

was haltet ihr von der Trennung und wo findet ihr die Übergänge?

P.S: ich habe Projecte gesehen, da wurde am anfang das Spiel ausgewählt und dann die Form an eine UnterUnit übergeben, da bestand die Gui nur aus dieser Übergabe...
ALLES andere wurde in der UnterUnit gemacht... Sinnvoll?

_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
FinnO
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1331
Erhaltene Danke: 123

Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
BeitragVerfasst: So 26.05.13 14:16 
Moin,

user profile iconIhopeonlyReader hat folgendes geschrieben Zum zitierten Posting springen:

Nun geht es daran, den Übergang zwischen Gui und MauMau-Unit zu finden..


Wenn du von Units und nicht von Klassen sprichst, macht das auf mich keinen besonders Objektorientierten Eindruck. Kann natürlich sein, dass du in der Unit dein Spiel als eine Sammlung von Klassen Implementiert hast, das wird nur irgendwie nicht klar.

Zum Rest kann ich nur sagen: Mach es ordentlich ;)

Cheers,
IhopeonlyReader Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: So 26.05.13 14:25 
ja die Klasse TMauMau befindet sich in der Unit ;)
(das war mit MauMau-Unit)
es wird halt alles was zum Spiel MauMau gehört dort verwaltet

_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
IhopeonlyReader Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: Mo 27.05.13 22:09 
- Push -

_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
jfheins
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 918
Erhaltene Danke: 158

Win 10
VS 2013, VS2015
BeitragVerfasst: Mo 27.05.13 22:43 
Mach' es nach Möglichkeit 1.

Die Teile, die sich gezeichnet haben, werden ja wohl auch festatellen können, ob der Mausklick Sie jetzt getroffen hat. Also einfach durch alle Spielkarten iterieren und prüfen. In Sonderfällen (wei regelmäßige Raster) kann man das auch direkt ausrechnen.

Und das rechnen muss dich überhaupt nicht stören. Genau so macht es Windows auch. Und wenn du die Rechnung nicht machst, sondern Images erzeugst, verlagerst du diese Rechnung nur.
IhopeonlyReader Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: Mo 27.05.13 23:04 
Ok :) ich dachte dass würde unnötig bremsen

_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!