Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function Movement(move, curC, curR, M, N : integer; var board : chessArray) : boolean;
- var newC, newR: integer; K : boolean; usedMoves : moves;
- begin
- board[curC, curR]:=move;
- K:=false;
- if (move >= N*M) then K:=true
- else
- begin
- if (possibleMove(curC + 2, curR - 1, M, N, board)) and Movement(move+1, curC + 2, curR - 1, M, N, board) then K:=true
- else if (possibleMove(curC + 2, curR + 1, M, N, board)) and Movement(move+1, curC + 2, curR + 1, M, N, board) then K:=true
- else if (possibleMove(curC - 2, curR + 1, M, N, board)) and Movement(move+1, curC - 2, curR + 1, M, N, board) then K:=true
- else if (possibleMove(curC - 2, curR - 1, M, N, board)) and Movement(move+1, curC - 2, curR - 1, M, N, board) then K:=true
- else if (possibleMove(curC + 1, curR + 2, M, N, board)) and Movement(move+1, curC + 1, curR + 2, M, N, board) then K:=true
- else if (possibleMove(curC + 1, curR - 2, M, N, board)) and Movement(move+1, curC + 1, curR - 2, M, N, board) then K:=true
- else if (possibleMove(curC - 1, curR + 2, M, N, board)) and Movement(move+1, curC - 1, curR + 2, M, N, board) then K:=true
- else if (possibleMove(curC - 1, curR - 2, M, N, board)) and Movement(move+1, curC - 1, curR - 2, M, N, board) then K:=true
- else begin board[curC, curR]:=0; end;
- end;
- result:=K;
- end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement