Thema: Delphi Memory Programm

Einzelnen Beitrag anzeigen

abisch

Registriert seit: 12. Jun 2015
3 Beiträge
 
#71

AW: Memory Programm

  Alt 12. Jun 2015, 19:33
Hallo alle zusammen,
ich habe ein ähnliches Problem. Beim Programmieren des Memorys habe ich einige Schwierigkeiten, vor allem mit der DrawGrid-Komponente.
Bisher habe ich mit Hilfe von Schleifen jedem meiner 10 Bilder Koordinaten und eine "ID" zugeordnet (das ganze zwei Mal, um Paare zu erzeugen).
Nun möchte ich die Bilder in das DrawGrid laden (jede der 20 Zellen soll am Ende ein Bild beinhalten). Allerdings finde ich keine Möglichkeit, die Zellen, ähnlich wie beim StringGrid, einzeln über die Koordinaten anzusprechen.
Ich sitze nun schon ziemlich lange daran und verzweifle langsam. Daher wäre ich über einen rettenden Tipp sehr froh!

Hier mein bisheriger Quelltext:

Code:
var Memory    : array [1..4,1..5] of Integer;
    Pfad   : array [0..9] of String
    = ('Bild1.bmp', 'Bild2.bmp', 'Bild3.bmp', 'Bild4.bmp', 'Bild5.bmp', 'Bild6.bmp',
        'Bild7.bmp', 'Bild8.bmp', 'Bild9.bmp', 'Bild10.bmp');
     Bilder    : array [0..9] of TImage;


procedure BilderLaden;
var i : Integer;
begin
  for i := 0 to 9 do
  begin
    Bilder[i] := TImage.Create(nil);
    Bilder[i].Picture.LoadFromFile(Pfad[i])
  end
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
DrawGrid1.ColCount:=5;
DrawGrid1.RowCount:=4;
DrawGrid1.FixedCols:=0;
DrawGrid1.FixedRows:=0;
end;

procedure PaareFinden;
var i,x,y,Zaehler : Integer;
begin
i:=1;
Randomize;
while i<=10 do
begin
Zaehler:=0;
  while Zaehler < 3 do
    begin
      x:=Random(5)+1;
      y:=Random(4)+1;
        if Memory[x,y]=0 then
          begin
            Memory[x,y]:=i;
            Zaehler:=Zaehler+1
          end;
    end;
  i:=i+1;
 end;
end;

procedure KartenZuordnen;              // und ab hier wird es problematisch..
var i : Integer;
    Memory    : array [1..4,1..5] of Integer;
begin
PaareFinden;
for i:= 1 to 10 do
Memory[i]:=(DrawGrid1.Cells[x,y]);     // in Anlehnung an das StringGrid
end;
end.
  Mit Zitat antworten Zitat