home *** CD-ROM | disk | FTP | other *** search
- {************************************************}
- { }
- { Turbo Vision Chess Demo }
- { Copyright (c) 1992 by Borland International }
- { }
- {************************************************}
-
- unit TVChsUtl;
-
- interface
-
- {$IFDEF DPMI}
- uses ChessDLL, Objects, Views;
- {$ELSE}
- uses ChessInf, Objects, Views;
- {$ENDIF}
-
- procedure SquareToLocal(ALocation: TLocation; var P: TPoint; Size: Integer);
- procedure PointInSquare(P: TPoint; var ALocation: TLocation);
-
- implementation
-
- function MaxI(I1, I2: Integer): Integer; inline (
- $58/$5B/$3B/$C3/$7D/$01/$93
- );
-
- function MinI(I1, I2: Integer): Integer; inline (
- $58/$5B/$3B/$C3/$7E/$01/$93
- );
-
- procedure SquareToLocal(ALocation: TLocation; var P: TPoint; Size: Integer);
- begin
- P.X := (ALocation.X - 1) * 6 + 2;
- P.Y := Size - ALocation.Y * 3;
- end;
-
- procedure PointInSquare(P: TPoint; var ALocation: TLocation);
- begin
- ALocation.X := MinI(MaxI(1, ((P.X - 2) div 6) + 1), 8);
- ALocation.Y := MinI(MaxI(1, 8 - ((P.Y - 1) div 3)), 8);
- end;
-
- end.
-