diff options
author | IgrisBRC <[email protected]> | 2024-07-20 11:24:15 +0530 |
---|---|---|
committer | IgrisBRC <[email protected]> | 2024-07-20 11:24:15 +0530 |
commit | fce0d5b41707facbc2c50b074fe63002b2e3611c (patch) | |
tree | 5fa38b41baa3d6548f00e033f788ff7d4ba1916e /public/make_move.js | |
parent | bec75ae5ebcc8c5df9b0be3115370ed7013127a1 (diff) |
made en passant, there might be bugs but I haven't found them yet
Diffstat (limited to 'public/make_move.js')
-rw-r--r-- | public/make_move.js | 45 |
1 files changed, 38 insertions, 7 deletions
diff --git a/public/make_move.js b/public/make_move.js index 6233ed0..07bda02 100644 --- a/public/make_move.js +++ b/public/make_move.js @@ -12,27 +12,58 @@ function make_move(board, prev_y_x, new_y_x) { + if ((board[prev_y_x[0][0]][prev_y_x[0][1]] == 6 || board[prev_y_x[0][0]][prev_y_x[0][1]] == -6) && board[new_y_x[0][0]][new_y_x[0][1]] == 0 && new_y_x[0][1] != prev_y_x[0][1]) { + console.log("passant") + console.log(en_passant) + + if (board[prev_y_x[0][0]][prev_y_x[0][1]] == 6) { + board[3][en_passant] = 0 + } else { + board[4][en_passant] = 0 + } + + en_passant_move = en_passant + } + + en_passant = -1 + for (let i = 0; i < new_y_x.length; i++) { + if (board[prev_y_x[i][0]][prev_y_x[i][1]] == 6 && prev_y_x[i][0] - new_y_x[i][0] == 2) { + en_passant = prev_y_x[i][1] + } + + if (board[prev_y_x[i][0]][prev_y_x[i][1]] == -6 && prev_y_x[i][0] - new_y_x[i][0] == -2) { + en_passant = prev_y_x[i][1] + } + + board[new_y_x[i][0]][new_y_x[i][1]] = board[prev_y_x[i][0]][prev_y_x[i][1]] } for (let i = 0; i < prev_y_x.length; i++) { let color = board[prev_y_x[i][0]][prev_y_x[i][1]] > 0 - if(Math.abs(board[prev_y_x[i][0]][prev_y_x[i][1]]) == 1){ - if(color) castle_white_short = castle_white_long = false + if (Math.abs(board[prev_y_x[i][0]][prev_y_x[i][1]]) == 1) { + if (color) castle_white_short = castle_white_long = false else castle_black_short = castle_black_long = false - } else if(Math.abs(board[prev_y_x[i][0]][prev_y_x[i][1]]) == 3){ - if(prev_y_x[i][1] == 0){ - if(color) castle_white_long = false + } else if (Math.abs(board[prev_y_x[i][0]][prev_y_x[i][1]]) == 3) { + if (prev_y_x[i][1] == 0) { + if (color) castle_white_long = false else castle_black_long = false - } else if (prev_y_x[i][1] == 7){ - if(color) castle_white_short = false + } else if (prev_y_x[i][1] == 7) { + if (color) castle_white_short = false else castle_black_short = false } } board[prev_y_x[i][0]][prev_y_x[i][1]] = 0 } + + check = check_check(board, to_move, check) + if (check) { + console.log("check") + } + + console.log(board) } |