Курсовая работа: Разработка алгоритма и реализация игры "Реверси"
function CalculateData(cc: byte; cx, cy: integer): sPosData;
function CheckMove(color:byte; cx, cy: integer): integer;
function DoStep(data: pBoard): word;
implementation
var brd, brd2, brd3: tBoard;
function CalculateData(cc: byte; cx, cy: integer): sPosData;
// Calculate data about current position
// Parameter: cc - Who do move, black or white?
// if (cc == 1) White makes a move
// if (cc == 2) Black makes a move
var data: sPosData;
i, j: integer;
intern: boolean;
begin
data.corner:= FALSE;
data.disks:= 0;
data.internal:= 0;
data.stable:= 0;
data.square2x2:= FALSE;
data.edge:= FALSE;
data.mx:= cx;
data.my:= cy;
// делаем копию доски и вычислите сумму фишек
for i:=0 to 7 do
for j:=0 to 7 do
begin
brd3[i,j]:= brd2[i,j];
if brd2[i,j]= cc then inc(data.disks);
end;