Einzelnen Beitrag anzeigen

funkuchn

Registriert seit: 20. Sep 2009
Ort: Boblitz
81 Beiträge
 
Delphi 6 Professional
 
#1

Memoryspielproblem

  Alt 23. Mär 2010, 13:00
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.
  Mit Zitat antworten Zitat