Advertisement
Guest User

Untitled

a guest
Jul 29th, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.38 KB | None | 0 0
  1. function Movement(move, curC, curR, M, N : integer; var board : chessArray) : boolean;
  2. var newC, newR: integer; K : boolean; usedMoves : moves;
  3. begin
  4.     board[curC, curR]:=move;
  5.     K:=false;
  6.     if (move >= N*M) then K:=true
  7.     else
  8.     begin
  9.         if (possibleMove(curC + 2, curR - 1, M, N, board)) and Movement(move+1, curC + 2, curR - 1, M, N, board) then K:=true
  10.          else if (possibleMove(curC + 2, curR + 1, M, N, board)) and Movement(move+1, curC + 2, curR + 1, M, N, board) then K:=true
  11.           else if (possibleMove(curC - 2, curR + 1, M, N, board)) and Movement(move+1, curC - 2, curR + 1, M, N, board) then K:=true
  12.            else if (possibleMove(curC - 2, curR - 1, M, N, board)) and Movement(move+1, curC - 2, curR - 1, M, N, board) then K:=true
  13.             else if (possibleMove(curC + 1, curR + 2, M, N, board)) and Movement(move+1, curC + 1, curR + 2, M, N, board) then K:=true
  14.              else if (possibleMove(curC + 1, curR - 2, M, N, board)) and Movement(move+1, curC + 1, curR - 2, M, N, board) then K:=true
  15.               else if (possibleMove(curC - 1, curR + 2, M, N, board)) and Movement(move+1, curC - 1, curR + 2, M, N, board) then K:=true
  16.                else if (possibleMove(curC - 1, curR - 2, M, N, board)) and Movement(move+1, curC - 1, curR - 2, M, N, board) then K:=true
  17.                 else begin board[curC, curR]:=0; end;
  18.     end;
  19.     result:=K;
  20. end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement