Mi objetivo es hacer una especie de juego de ajedrez en el que puedas colocar múltiples torres o torres, y se supone que el juego verifica si las piezas de ajedrez pueden chocar entre sí o no, hasta ahora he creado el código que puedes ver a continuación, pero Estoy atascado en el bucle que comprueba si una torre puede golpear a otra torre. Estoy bastante confundido sobre cómo verificar esto. ¡Si alguien pudiera ayudarme o darme alguna pista sobre cómo hacer el bucle, significaría mucho! (Perdón por los nombres de las variables en noruego, si necesita una traducción o algo, ¡con gusto lo ayudaré!)
¡¡¡Gracias por adelantado!!!
<!doctype html> <html lang="no"> <head> <title> Standardoppsett </title> <meta charset="utf-8"> </head> <style> body{ font-size: 25px; } .board { width: 360px; height: 360px; border: 32px solid; border-color: darkslategray; border-radius: 5px; } .firkant { height:calc(100% / 8); width: calc(100% / 8); text-align: center; border: 1px black solid; } .hvit{ background:white; } .svart{ background:grey; } td:hover { background: lightgreen; cursor: pointer } </style> <body> <table class="board"></table> <script> let tableEl = document.querySelector("table") let liste = [] for(let i = 1; i < 9; i++) { let trEl = document.createElement('tr'); for(let j = 1; j < 9; j++) { let tdEl = document.createElement('td'); tdEl.setAttribute("id","rute"+i+j) tdEl.addEventListener("click",plasserTårn) trEl.appendChild(tdEl); // Bare på grunn av css tdEl.className = (i%2 === j%2) ? "hvit firkant" : "svart firkant"; } tableEl.appendChild(trEl); } function plasserTårn(e){ let trykketFirkant = e.target let plassertBrikke = {rad:trykketFirkant.id.substring(5,4), kolonne:trykketFirkant.id.substring(6,5)} liste.push(plassertBrikke) console.log(liste) console.log(plassertBrikke) for(let i = 0;i<liste.length;i++){ let rekkefolgehusker = i for (let k = rekkefolgehusker;k<liste.length;k++) { if(liste[i].rad == liste.rad[k]) { console.log("tårn blir slott"); } } } } </script> </body> </html>No estoy 100% seguro de lo que quieres, pero antes de empujar a plassertBrikke a liste , puedes hacer algo como esto para ver si plassertBrikke puede tomar alguna de las torres que ya están en el tablero.
const piecesUpForGrabs = liste.filter(rook => { return plassertBrikke.rad === rook.rad || plassertBrikke.kolonne === rook.kolonne; }) console.log('plassertBrikke can take these pieces:', piecesUpForGrabs);