JSFiddle - React, Tailwind, and code Playground

by Richard Hunter

JavaScript

const board = [
  ['bR1', 'bK1', 'bB1', 'bQ', 'bK', 'bB2', 'bK2', 'bR2'],
  ['ba7', 'bb7', 'bc7', 'bd7', 'be7', 'bf7', 'bg7', 'bh7'],
  ['#', '#', '#', '#', '#', '#', '#', '#'],
  ['#', '#', '#', '#', '#', '#', '#', '#'],
  ['#', '#', '#', '#', '#', '#', '#', '#'],
  ['#', '#', '#', '#', '#', '#', '#', '#'],
  ['wa2', 'wb2', 'wc2', 'wd2', 'we2', 'wf2', 'wg2', 'wh2'],
  ['wR2', 'wK2', 'wB2', 'wQ', 'wK', 'wB1', 'wK2', 'wR1']
]

function findPiece(piece) {
  var i, j;
  let retArray = [];
  outer:
    for (i = 0; i < 8; i++) {
      for (j = 0; j < 8; j++) {
        if (board[i][j] == piece)
          break outer;
      }
    }
  if (i == 8 && j == 8)
    return null;
  else {
    retArray.push(i);
    retArray.push(j);
    return retArray;
  }
};

function move(piece, square) {
  var piecePosition = findPiece(piece);
  var tmp = board[piecePosition[0]][piecePosition[1]];
  board[piecePosition[0]][piecePosition[1]] = board[square[0]][square[1]];
  board[square[0]][square[1]] = tmp;
  console.log(board)
};

move("we2", [4, 4]);