说实话我也不想把那个shape的参数搞这么长的……
function check(ll,rr,tt,bb:longint):char;
var
d:longint;
c:char;
begin
for d:=1 to t do begin
c:=chr(d+96);
if (rr-ll=cr[c]-cl[c]) and (bb-tt=cb[c]-ct[c]) then begin
if shape(c,cl[c],ct[c],ll,tt,rr-ll+1,bb-tt+1,1,1,0)
or shape(c,cl[c],ct[c],ll,tt,rr-ll+1,bb-tt+1,-1,-1,0)
or shape(c,cl[c],ct[c],ll,tt,rr-ll+1,bb-tt+1,1,-1,0)
or shape(c,cl[c],ct[c],ll,tt,rr-ll+1,bb-tt+1,-1,1,0) then begin
check:=c;
exit;
end;
end;
if (rr-ll=cr[c]-cl[c]) and (bb-tt=cb[c]-ct[c]) then begin
if shape(c,cl[c],ct[c],ll,tt,rr-ll+1,bb-tt+1,1,1,1)
or shape(c,cl[c],ct[c],ll,tt,rr-ll+1,bb-tt+1,-1,-1,1)
or shape(c,cl[c],ct[c],ll,tt,rr-ll+1,bb-tt+1,1,-1,1)
or shape(c,cl[c],ct[c],ll,tt,rr-ll+1,bb-tt+1,-1,1,1) then begin
check:=c;
exit;
end;
end;
end;
end;
我敢保证3天过后我绝对看不懂我自己写得是什么…… |