So Leute,
ich nerv euch mal wieder mit meinem Memoryspiel
ich komme einfach nicht weiter weil ich nicht weiß, wie ich es umsetzen soll, 2 Karten aufdecken zu können und sowieso die Felder zufällig mit 10 Pärchen zu belgene
hier mal mein bisheriger Code, der so auch nicht ganz richtig ist
Delphi-Quellcode:
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
Men1: TMenuItem;
Start1: TMenuItem;
Aufgeben1: TMenuItem;
Neustart1: TMenuItem;
Beenden1: TMenuItem;
Hilfe1: TMenuItem;
Image1: TImage;
DrawGrid1: TDrawGrid;
procedure Beenden1Click(Sender: TObject);
procedure Hilfe1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure DrawGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean);
private
{ Private-Deklarationen }
KarteVerdeckt:tbitmap;
KarteAufgedeckt:tbitmap;
KartenArray:array [0..4,0..3] of integer;
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
Zufallszahl:integer;
Bitmap:TBitmap;
implementation
{$R *.DFM}
procedure TForm1.Beenden1Click(Sender: TObject);
begin
close;
end;
procedure TForm1.Hilfe1Click(Sender: TObject);
begin
showmessage('REMEMBER YOUR CHILDHOOD');
showmessage('Bei diesem Spiel geht es darum, gleiche Pärchen aufzudecken.');
showmessage('Durch den Klick auf zwei Spielkarten werden sie dir angezeigt.');
showmessage('Hast du ein Pärchen gefunden, werden dir 5 Punkte gutgeschrieben.');
showmessage('Viel Spaß beim Spielen!');
end;
procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
if KartenArray[aCol, arow]=0 then
Drawgrid1.Canvas.Draw(rect.left,rect.top,KarteVerdeckt);
Bitmap := TBitmap.Create;
Bitmap.Width := 100;
Bitmap.Height := 100;
end;
procedure TForm1.FormCreate(Sender: TObject);
var i,j:integer;
begin
for i:=0 to 4 do
for j:=0 to 4 do
KartenArray[i,j]:=0;
KarteVerdeckt:=tbitmap.create;
KarteVerdeckt.LoadFromFile(extractfilepath(application.exename)+'clip_image002.bmp');
end;
procedure TForm1.DrawGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean);
var i,j:integer;
rect:Trect;
begin
for i:=0 to 4 DO
for j:=0 TO 4 Do
Kartenarray[i,j]:=1;
rect := DrawGrid1.CellRect(ACol, ARow);
KarteAufgedeckt:=tbitmap.create;
KarteAufgedeckt.LoadFromFile(extractfilepath(application.exename)+'clip_image010.bmp');
if KartenArray[aCol, arow]=1 then
Drawgrid1.Canvas.Draw(rect.left,rect.top,KarteAufgedeckt);
Sleep(2000);
DrawGrid1.Canvas.Draw(rect.left, rect.top, KarteVerdeckt);
end;
procedure Zufallsbelegung(Sender:TObject);
begin
Zufallszahl:=random(10)+1;
end;
end.