Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Memory Spiel - PrüfProzedur


wurmi86 - Sa 12.12.09 11:42
Titel: Memory Spiel - PrüfProzedur
Hallo Jungs und Mädels,
ich habe ein kleines Problem.
Ich tippe gerade an einem einfachen Memory Spiel für eine Weihnachtsfeier. Idee dabei ist TImageszu verwenden.
Habe soweit soweit schon recht gute Vorstellungen, wie es funktionieren soll.Jedoch stecke ich bei dem Prüalgorithmus fest.
Zudem soll ich vielleicht hinzufügen, dass es nicht so ein klassisches memory-spiel werden soll(also zwei gleiche karten finden) sondern eins, wo man unterschiedliche karten finden soll. Beispiel.: Eine Karte mit 5 darauf und die dazugehörige Karte soll 5 Punkte haben. oder so ähnlich.

meine idee, auf Richtigkeit zu prüfen ist bist dahin folgende:
einen globalen zäler hochzählen lassen, bis der 2 hat.(bei zwei geöffnetenKarten).
dann sollen die zwei karten vergliechen werden.

....
gedacht sind auch zwei arrays: eins mit den bilderpfaden. eins mit den paarzuordnungen.

wahrscheinlich stehe ich einfach nur auf dem Schlauch. vielleicht mache ich es mir einfach zu schwer. aber ich komme einfach nicht weiter.

Ich hoffe mir kann schnell geholfen werden. Die bilder die im anhang sind sind nur beispielbilder. paare sind z.b.
img0.bmp und img5.bmp. --> also nach vier bildern kommt eins, was dazu gehört.


danke schonmal im vorraus
Gruss Wurmi


Narses - Sa 12.12.09 13:24

Moin und :welcome: im Forum!

Schau mal hier [http://www.delphi-library.de/topic_VCL+Memory+Tutorial++fuer+EinUmsteiger_44084.html], vielleicht hilft dir das schon weiter. :idea: ;)

cu
Narses


ffgorcky - So 13.12.09 17:37

Das klingt mir so ähnlich wie mein Programm: Siehe Karten Memory-artig hinlegen [http://www.delphi-forum.de/viewtopic.php?t=91087]
Das habe ich ich so gebaut, dass man immer ein Bild einer Person und den dazugehörigen Namen zusammen aufdecken muss, damit diese offen bleiben.
Und ich meine, dass ich das so gemacht habe, dass ich den Memory-Panels, auf denen Label oder Image liegen einfach normal durchnummeriert habe und dann immer die Hints der beiden offen liegenden Panels vergleiche:

Delphi-Quelltext
1:
2:
3:
4:
if momentanesPanel.Hint=ebenAufgedecktesPanel.Hint then
   //Dann tue das was in dem Fall der stimmenden Karten gemacht werden soll - also lasse sie offen liegen
else
   //zähle per Timer runter und verdecke sie wieder