{Проверка выхода слова из поля} if SRow+length(sWord)>fm_Main.sg.RowCount then begin EMessage := _M_LgOut; Result := false; exit; end; {Проверка соприкосновения слова по правилу морского боя} if SCol>0 then for i:=SRow to SRow+Length(sWord)-1 do if (Field[SCol-1,i].Letter<>' ') and (not WordCross[i-SRow+1]) then begin EMessage := _M_LgContactL; Result := false; exit; end; if SCol<14 then for i:=SRow to SRow+Length(sWord)-1 do if (Field[SCol+1,i].Letter<>' ') and (not WordCross[i-SRow+1]) then begin EMessage := _M_LgContactR; Result := false; exit; end; if (SRow>0) and (Field[SCol,SRow-1].Letter<>' ') and (not WordCross[1]) then begin EMessage := _M_LgContactU; Result := false; exit; end; if (SRow+Length(sWord)-1<fm_Main.sg.RowCount) and (Field[SCol,SRow+Length(sWord)].Letter<>' ') and (not WordCross[Length(sWord)]) then begin EMessage := _M_LgContactD; Result := false; exit; end; for i:=1 to Length(sWord) do if (FieldNextCell(i).Letter<>' ') and (FieldNextCell(i).Letter<>sWord[i]) then begin EMessage := _M_LgCrossError; Result := false; exit; end;