Estoy tratando de hacer un tablero de ajedrez js, y solo valido los movimientos de las piezas fijadas, así:
for (var j = 0; j < moves.length; j++) { console.log(this.position[1][moves[j].start]) console.log(this.position[1][moves[j].start].isPinned) if (this.position[1][moves[j].start].isPinned || isInCheck) { this.makeMove(moves[j], false); // checks if king is in check this.unmakeMove(false) } } El primer console.log registra la pieza que está tratando de moverse, que es un objeto, y si veo manualmente que es la tecla "isPinned", a veces es cierto, pero incluso cuando es cierto, el segundo console.log registra "falso". No tengo idea de qué está causando eso, tal vez algunos de ustedes puedan ayudarme.