Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
Delphi 12 Athens
|
AW: Schiffe versenken - verhindern von überlappen der schiffe
19. Dez 2011, 09:18
Aus dem Stegreif:
Delphi-Quellcode:
var
//Nehmen wir z.B. 10 x 10 Felder
Spielfeld: array[0..9, 0..9] of Boolean;
//Schiff setzen -> Felder als belegt markieren
procedure SchiffSetzen(Felder: array of TPoint);
var
i: integer;
begin
for i := Low(Felder) to High(Felder) do
Spielfeld[Felder[i].X, Felder[i].Y] := true;
end;
//Übergebene Felder auf belegt prüfen
function FelderFrei(Felder: array of TPoint): Boolean;
var
i: integer;
begin
Result := true;
i := Low(Felder);
while (i <= High(Felder)) and Result do
begin
Result := not Spielfeld[Felder[i].X, Felder[i].Y];
inc(i);
end;
end;
//Spielfeld komplett als frei markieren
procedure ClearSpielfeld;
var
i, j: integer;
begin
for i := Low(Spielfeld) to High(Spielfeld) do
for j := Low(Spielfeld[i]) to High(Spielfeld[i]) do
Spielfeld[i, j] := false;
begin
Detlef "Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
|