Einzelnen Beitrag anzeigen

Popov
(Gast)

n/a Beiträge
 
#136

AW: Schiffe versenken programmieren

  Alt 28. Feb 2014, 16:46
Hier eine kleine Prozedur zum Anzeigen des Spielfeldes. Benötigt wird die Komponente TPaintBox:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);

const
  MaxFelder = 11; //wenn bereits global gesetzt, kann die Konstante weg!

  procedure Rechteck(ax, ay, az: Integer);
  const
    Col: array[0..9] of TColor = (clWhite, clRed, clFuchsia, clGreen, clOlive,
      clMaroon, clNavy, clPurple, clBlue, clYellow);
  var
    w, h: Integer;
  begin
    with PaintBox1 do
    begin
      w := Width div (MaxFelder + 1);
      h := Height div (MaxFelder + 1);
      Canvas.Pen.Color := clBlack;
      Canvas.Brush.Style := bsSolid;
      Canvas.Brush.Color := Col[az];
      Canvas.Rectangle(ax * w, ay * h, (ax * w) + w, (ay * h) + h);
    end;
  end;

var
  x, y: Integer;
begin
  for y := 0 to MaxFelder do
    for x := 0 to MaxFelder do
      Rechteck(x, y, SpielFeld[x, y]);
end;
  Mit Zitat antworten Zitat