![]() |
Memory-Spiel
Hallo,
ich bin in der zwölften Klasse und muss eine Facharbeit in Informatik schreiben. Ich soll ein Memory-Spiel in Delphi programmieren mit einer variablen Feldgröße und einer Möglichkeit die Anzahl der Versuche zu zählen und diese dann abzuspeichern. Außerdem soll es mit Bildern funktionieren, damit das ganze schöner aussieht. Es muss aber nur für einen Spieler funktionieren, also ein 2-Spieler-Modus ist nicht notwendig. Könnt ihr mir vllt helfen und mir sagen, wie sowas am leichtetsten zu realisieren ist? Ist es sinnvoll mit TDrawGrid zu arbeiten? Ich wäre für eure Hilfe sehr dankbar! mfG eLLi |
Re: Memory-Spiel
Hi!
Eine ganz einfache Möglichkeit wäre es doch das ganze mit images zu programmieren. Angenommen du hast 16 Karten, dann nimmst für jede Karte ein Image. Dann musst du dir verschiedene Bilder zeichnen und ein Bild, dass die Rückseite der Karte darstellt. In deinem Programm musst du nun definieren, welches Bild zu welchem Image gehört. Beim klicken auf eine Karte/Image wird das zugeordnete Bild angezeigt. Wenn zwei Karten aufgedeckt sind vergleichst du diese beiden:
Delphi-Quellcode:
if Image1.Picture= Image2.Picture then //...
Zitat:
Natürlich gehört noch einiges mehr dazu, aber als grundgerüst könnte man das doch schon mal benutzen, ansonsten melde dich einfach :zwinker: ach ja: :dancer2: :party: :party: HERZLICH WILKOMMEN IN DER DP!!! :party: :party: :dancer2: |
Re: Memory-Spiel
Danke ersteinmal für die Begrüßung :hi:
Mit dem Images werd ich das mal ausprobieren, danke für den Tipp. Wenn ich noch weitere Fragen dazu habe, werde ich mich bestimmt nochmal melden ;) Ja, mit der variablen Feldgröße meinte ich die Anzahl der Karten, also meinetwegen kann man dann 5x5 anklicken und es gibt 25 Karten oder 6x6 und so weiter. mfG eLLi |
Re: Memory-Spiel
images in ein array schmeissen (dann isses variabel) und dynamisch auf der form positionieren....
so in etwa:
Delphi-Quellcode:
(ich weiss, man soll andern keine hausaufgeben machen, aber das is nur wirklich ein winziges teilproblem....)
//Bilder ist ein Array of TImage (würd ich nehmen) der länge BildAnzahl
//BildAnzahl is zB 25, Groesse müsste dann 5 sein //LRand und TRand sind die Ränder nach links und oben die das gesamte feld verschoben ist //Abstand ist der Abstand zwischen den Bilder + die Breite der Bilder for i:=1 to BildAnzahl do begin //Left = Abstand vom Linken Rand Bilder[i].Left:=LRand + (i Mod Groesse) * Abstand; //Top = Abstand zum Oberen Rand Bilder[i].Top :=TRand + (i Div Groesse) * Abstand; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz