LTChess

toc
 * Home * Engines * LTChess**

a didactic open source chess program written by Laurie Tunnicliffe in Pascal, started on January 2012. It may be compiled using either Turbo Pascal, [|Free Pascal] or [|Virtual Pascal] compilers. LTChess uses a 0x88 board representation and applies alpha-beta with iterative deepening, Null move, Killer moves, LMR and transposition table. It features separate mutually recursive procedures for the main search and quiescence search for White and Black. Evaluation is done by piece square tables, with some positional features added in. Move ordering uses the PST and the History heuristic. The classic triangular array is used to return the PV. So far, LTChess has a simple text style user interface. LTChess 2, released in December 2016, changed to NegaMax, added piece-lists to 0x88, now using copy/make instead of make/unmake.
 * LTChess**,

=Code Sample= code format="pascal" ClearPVDisplay; GoToXY(51, 13); Write('I''m Thinking.......');

FillChar(PV, SizeOf(PV), 0); FillChar(HistoryTable, SizeOf(HistoryTable), 0); FillChar(KillerMoves, SizeOf(KillerMoves), 0); InitTT;

MaxDepth := 3; {-- do a 4 ply search first to fill history table etc } TimesUp := False; PVscore := 0;

Time := StopWatch(Start); WHILE (MaxDepth < FixedDepth) AND NOT TimesUp AND (Abs(PVscore) < 30000) DO BEGIN Inc(MaxDepth); {-- search the next ply...iterative deepening } ShufflePV(MaxDepth); {-- so the PV is the correct order for the next ply } SearchingPV := True; {-- we will search the PV moves first } PVscore := AlphaBetaMinMax(MaxDepth); {-- call the search } Time := StopWatch(Now); WriteInfoToScreen; END; {-- now return the best move from the PV array } TheMove := PV[MaxDepth, MaxDepth]; code

=Forum Posts=
 * [|New open source chess program] by lauriet, OpenChess Forum, November 03, 2013
 * [|New Chess Program in Pascal] by Laurie Tunnicliffe, CCC, November 07, 2013
 * [|LTchess 2] by Laurie Tunnicliffe, CCC, December 03, 2016

=External Links=
 * [|LTChess - Home]

=References= =What links here?= include page="LTChess" component="backlinks" limit="40"
 * Up one level**