code: function getGameAfterMove(game, move, backMove = false) {
      if (!backMove && canNotMove(game, move))
          return game;
      const board = getBoardAfterMove(game.board, move);
      return {
          players: game.players,
          board,
          score: Score.getScore(game.board),
          moves: backMove ? game.moves : game.moves.concat(getMoveXAndY(move))
      };
  }
docs: Takes game and move then returns new game after move.
  
  Updates:
  - .board (It cleans board, set new positions and move breadcrumb)
  - .score
  - .moves (add new move if valid and it is not backMove)