Thema: Memory-Spiel

Einzelnen Beitrag anzeigen

Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Memory-Spiel

  Alt 12. Mär 2008, 18:15
Hallo bestzeller,

um bei Deinem Projekt zu bleiben:

Legt doch zwei Globale Variablen an...
Delphi-Quellcode:
  Karte1: TKarte = nil;
  Karte2: TKarte = nil;
Beim Klicken prüfst Du dann:
Delphi-Quellcode:
  if Karte1 = nil then
    Karte1 := Self
  else
  if Karte2 = nil then
    Karte2 := Self
  else
  begin
    if Karte1.BildIndex = Karte2.BildIndex then // BildIndex musst Du natürlich definieren
    begin
      showmessage('Treffer!');
      EvtlPunkteVergeben;
      EvtlBeideKartenUnsichtbarMachen;
    end
    else
    begin
      showmessage('mööööp!');
      EvtlPunkteAbziehen;
      BeideKartenWiederUmdrehenUndaufNilZurücksetzen; // Karte1 := nil;
    end
...
Dann braucht der Nutzer auch nicht extra einen Schalter drücken. Wird das zweite Bild angeklickt, erkennt das Dein Programm und kann auf Gleichheit prüfen.
Karte1 und Karte2 wird wieder auf nil gesetzt und das Spiel beginnt von neuem.

Trefferkarten würde ich nicht freigeben, da Du dann auch die Liste anpassen musst. Unsichtbar machen reicht ja völlig aus. Die Freigabe aus dem Speicher sollte zum Programmende erfolgen...


stahli
  Mit Zitat antworten Zitat