Thema: Delphi Memory-Spiel: Ideen

Einzelnen Beitrag anzeigen

XardasLP
(Gast)

n/a Beiträge
 
#54

AW: Memory-Spiel: Ideen

  Alt 30. Jan 2016, 22:00
Hi, also ich will das ja ohne Klassen machen...

Zwei gleiche Karten aufgedeckt geht schon mal.

Delphi-Quellcode:
procedure TFormSpiel.Image1Click(Sender: TObject);
begin
  Image1.Picture.LoadFromFile('\MEMORY\Memory Spiel_Version 2\Spielkarten\Spielkarte_1.jpg');
  B1_Gefunden := 1;
  showmessage('B1_Gefunden ist ' + inttostr(b1_Gefunden));
    if (B1_Gefunden = 1) and (B1_1_Gefunden = 1) then
      begin
      Image1.Picture.LoadFromFile('\MEMORY\Memory Spiel_Version 2\Spielkarten\Spielkarte_1A.jpg');
      Image1_1.Picture.LoadFromFile('\MEMORY\Memory Spiel_Version 2\Spielkarten\Spielkarte_1A.jpg');
      end;
end;
Delphi-Quellcode:
procedure TFormSpiel.Image1_1Click(Sender: TObject);
begin
  Image1_1.Picture.LoadFromFile('\MEMORY\Memory Spiel_Version 2\Spielkarten\Spielkarte_1.jpg');
  B1_1_Gefunden := 1;
    if (B1_1_Gefunden = 1) and (B1_Gefunden = 1) then
    begin
    Image1.Picture.LoadFromFile('\MEMORY\Memory Spiel_Version 2\Spielkarten\Spielkarte_1A.jpg');
    Image1_1.Picture.LoadFromFile('\MEMORY\Memory Spiel_Version 2\Spielkarten\Spielkarte_1A.jpg');
    end
end;
Sieht dann so aus:
https://gyazo.com/d537210bc75f975bf06e68f0d8d9c79a

_________________

Wenn zwei Karten nicht gleich sind erkennt er das auch.
Nun will ich aber, dass er dann trz. 2 Sekunden die Karten offen hält, damit man sich diese merken kann.

Delphi-Quellcode:
procedure TFormSpiel.Image2Click(Sender: TObject);
begin
  Image2.Picture.LoadFromFile('\MEMORY\Memory Spiel_Version 2\Spielkarten\Spielkarte_2.jpg');
  showmessage('B1_Gefunden ist ' + inttostr(B1_Gefunden));
showmessage('B1_1_Gefunden ist ' + inttostr(B1_1_Gefunden));
  showmessage(inttostr(b2_1_Gefunden));
    if (B1_Gefunden = 0) and (B1_1_Gefunden = 0) or (B2_1_Gefunden = 0) then
      begin
         Timer1.Enabled := True;
    {    showmessage('NEW B1_Gefunden ist ' + inttostr(B1_Gefunden));
        showmessage('NEW B1_1_Gefunden ist ' + inttostr(B1_1_Gefunden));
        B1_NichtGefunden := 1;
          showmessage('2x NEW B1_NichtGefunden ist ' + inttostr(B1_NichtGefunden));
        B1_1_NichtGefunden := 1;
        showmessage('2x NEW B1_NichtGefunden ist ' + inttostr(B1_1_NichtGefunden));
        if (B1_NichtGefunden = 1) and (B1_1_NichtGefunden = 1) then
         begin }

                Image1.Picture.LoadFromFile('\MEMORY\Memory Spiel_Version 2\Spielkarten\Rueckseite.jpg');
                Image1_1.Picture.LoadFromFile('\MEMORY\Memory Spiel_Version 2\Spielkarten\Rueckseite.jpg');
                Image2.Picture.LoadFromFile('\MEMORY\Memory Spiel_Version 2\Spielkarten\Rueckseite.jpg');
               end
               else
             begin
      // showmessage(inttostr(B2_1_Gefunden));
             B2_Gefunden := 2;
     // showmessage(inttostr(B2_Gefunden));
           if (B2_Gefunden = 2) and (B2_1_Gefunden = 2) then begin
            Image2.Picture.LoadFromFile('\MEMORY\Memory Spiel_Version 2\Spielkarten\Spielkarte_2A.jpg');
            Image2_1.Picture.LoadFromFile('\MEMORY\Memory Spiel_Version 2\Spielkarten\Spielkarte_2A.jpg');
            end
{  Image2.Picture.LoadFromFile('\MEMORY\Memory Spiel_Version 2\Spielkarten\Spielkarte_2.jpg');
  B2 := 2;
  B1 := 0;
showmessage(inttostr(b1));
    if (B1 = 0) then
    begin Image1.Picture.LoadFromFile('\MEMORY\Memory Spiel_Version 2\Spielkarten\Rueckseite.jpg');
    Image1_1.Picture.LoadFromFile('\MEMORY\Memory Spiel_Version 2\Spielkarten\Rueckseite.jpg');
    end
    else
    begin
      showmessage('B2_1 ist ' + inttostr(b2_1));
      end }

   end;
   end;
Was stimmt am Timer nicht?
Delphi-Quellcode:
procedure TFormSpiel.Timer1Timer(Sender: TObject);
var i, a: integer;
begin
  if (Timer1.Enabled = True) then
    begin
      i := 0;
        for i := 1000 to 5000 do begin
          a := i + 1000;
        end;
          showmessage(inttostr(a));
          if (a = 5000) then
            begin
            Image2.Picture.LoadFromFile('\MEMORY\Memory Spiel_Version 2\Spielkarten\Rueckseite.jpg');
            end
            else
              Timer1.Enabled := False;
              if (Timer1.Enabled = False) then showmessage('Zu');
    end;
end;

Ich frage euch, weil ich sonst meist lange vor dem Quelltext hocke und mehr ausprobiere bis es geht. Versuche Fehler mit (showmessage)'s einzuschränken, aber denke mal das ihr ihn schnell findet.

Und das (https://gyazo.com/ad61c7687ad9dca6f631ea95eec56bda) muss dann auch noch mit einer Sache vermieden werden, entweder es ist auch eine Zeitspanne dazwischen oder die Img. Dateien zerstören sich nach 2 Sekunden. Mal sehen

Geändert von XardasLP (30. Jan 2016 um 22:19 Uhr)
  Mit Zitat antworten Zitat