Ich weiß jetzt nicht genau...
dann also einfach eine Frage:
Was passiert, wenn ich diese Prozedur aufrufe:
Delphi-Quellcode:
function Tform1.SchiffTesten1(Spalte,Reihe, Anz:Integer):Boolean;
var i,Ges:Integer;
begin
Ges:=0;
//...
If (Spielfeld1[Spalte-1,Reihe]=0) then inc(ges); //vor dem Schiff?
If (Spielfeld1[Spalte+Anz+1,Reihe]=0) then inc(ges); //Hinter dem schiff?
If (Anz=4) and (Ges=17) then result:=True
Else result:=False;
// If Anz=3 and Ges=14...
// If Anz=2 and Ges=11...
End;
und zwar mit dem Spaltenwert=0. Dann wird bei dem einen Aufruf 0-1 also -1 gerechnet. Das Array geht aber nur von 0-7. bricht er dann den Vorgang ab?
Denn wenn ich einfach ein kleines Testprogramm schreibe und auf einen Wert, der kleiner als 0 ist, zugreife, zeigt er mir eine Fehlermeldung an