summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgrisBRC <[email protected]>2024-07-15 12:12:01 +0530
committerIgrisBRC <[email protected]>2024-07-15 12:12:01 +0530
commit533ee503bf155c52543082ed8cffdd204f05af06 (patch)
tree00cb61f65b0fca8e754a51244f019c2535ff9a09
parentff3f02dddcb979da7c5df14ba0279f5968c9e7d8 (diff)
added make move, still one bug, the previously highlighteds squares don't break the current highlighted square, prolly and ez fix, but can't be arsed
-rw-r--r--public/board.js52
1 files changed, 43 insertions, 9 deletions
diff --git a/public/board.js b/public/board.js
index c5f1fc7..94c72ac 100644
--- a/public/board.js
+++ b/public/board.js
@@ -7,17 +7,20 @@ sync_board()
let previously_highlighted_squares = ['dummy']
for (let i = 0; i < squares.length; i++) {
- squares[i].onclick = handle_highlight(i)
+ squares[i].onclick = handle_highlight(squares[i].id)
}
-function handle_highlight(i) {
+function handle_highlight(id) {
return function() {
- let id = squares[i].id
let moves = move(board, id.charCodeAt(0) - 48, id.charCodeAt(1) - 48, to_move)
for (let i = 0; i < previously_highlighted_squares.length; i++) {
+ //if (previously_highlighted_squares[i] == piece_square) {
+ // continue
+ //}
+
let prev = document.getElementById(previously_highlighted_squares[i])
prev.classList.remove('highlight')
prev.onclick = null
@@ -27,16 +30,47 @@ function handle_highlight(i) {
let hlsquare = document.getElementById(`${moves[i][0]}${moves[i][1]}`)
hlsquare.classList.add('highlight')
+ hlsquare.onclick = handle_move(id, hlsquare.id)
previously_highlighted_squares.push(`${moves[i][0]}${moves[i][1]}`)
}
+ }
+}
+
+function handle_move(from_id, to_id) {
+ return function() {
+ let table = { 1: 'K', 2: 'Q', 3: 'R', 4: 'B', 5: 'N', 6: 'p' }
+
+ console.log(from_id.charCodeAt(0) - 48, from_id.charCodeAt(1) - 48, to_id.charCodeAt(0) - 48, to_id.charCodeAt(1) - 48)
+ make_move(board, from_id.charCodeAt(0) - 48, from_id.charCodeAt(1) - 48, to_id.charCodeAt(0) - 48, to_id.charCodeAt(1) - 48)
+
+ let from_element = document.getElementById(from_id)
+ let to_element = document.getElementById(to_id)
+
+ while (from_element.firstChild) {
+ from_element.removeChild(from_element.firstChild)
+ }
+
+ while (to_element.firstChild) {
+ to_element.removeChild(to_element.firstChild)
+ }
+
+ for (let i = 0; i < previously_highlighted_squares.length; i++) {
+ let prev = document.getElementById(previously_highlighted_squares[i])
+ prev.classList.remove('highlight')
+ prev.onclick = null
+ }
+
+ let piece = document.createElement('p')
+ piece.classList.add(board[to_id.charCodeAt(0) - 48][to_id.charCodeAt(1) - 48] > 0 ? 'w' : 'b', 'piece')
+ piece.append(table[Math.abs(board[to_id.charCodeAt(0) - 48][to_id.charCodeAt(1) - 48])])
+ to_element.append(piece)
+
+ for (let i = 0; i < squares.length; i++) {
+ squares[i].onclick = handle_highlight(squares[i].id)
+ }
+ to_move = !to_move
}
}
-//function handle_move(id) {
-// return function() {
-// console.log(id)
-// }
-//}
-//