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