Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.464 Beiträge
Delphi 12 Athens
|
AW: Überschreitung des Maximums (-1) im stringgrid
20. Dez 2013, 09:58
Ein bischen Trennung hilft schon:
Delphi-Quellcode:
function CheckPosition(x, y: Integer): Boolean;
begin
Result := (y >= 0) and (y <= 9) and (y >= 0) and (y <= 9);
end;
function GetPosition(x, y: Integer): string;
begin
if CheckPosition(x, y) then
Result := Form1.stringgrid1.cells[x, y]
else
Result := '#'; // außerhalb des Spielfelds
end;
function SetPosition(x, y: Integer; AValue: string);
begin
if CheckPosition(x, y) then
Form1.stringgrid1.cells[x, y] := AValue;
end;
{ob der Ablauf so richtig ist...}
if GetPosition(Globala, Globalb) = '1' then
begin
SetPosition(Globala, Globalb) := '3';
s := GetPosition(Globala + Globala1, Globalb + Globalb1);
if (s = '2') or (s = '4') or (s = '#') then
begin
s := GetPosition(Globalx - Globala1, Globaly - Globalb1);
if (s = '2') or (s = '4') or (s = '#') then
begin
versenkt:=1;
showmessage('Schiff Versenkt');
counter:=counter-1;
flaute:=0;
zugbeginn;
end
else
begin
showmessage('Ich habe dein Schiff getroffen' + inttostr(globalx)+'/'+ inttostr(globaly));
treffer2;
end;
end
else
begin
treffer2;
end;
end
else
begin
SetPosition(Globala, Globalb) := '5';
Flaute:=0;
end;
Geändert von Blup (20. Dez 2013 um 10:33 Uhr)
|
|
Zitat
|