void Game::updateGameMoveQueen(const Move &m) {
  Piece *piece = m.m_piece;

  if(m.m_capturedPiece == NULL) {
    queenLeaveField(m);
    SET_PIECE(m.m_to, piece);
    setNonCapturingQueen(m);
  } else {
    capturePiece(m);
    queenLeaveField(m);
    SET_PIECE(m.m_to, piece);
    setCapturingQueen(m);
  }

  piece->m_pinnedState = getPinnedState(m.m_to);
}
void Game::updateGameBackMoveQueen(const Move &m) {
  const Move m1 = m.makeBackMove();
  queenLeaveField(m1);
  SET_PIECE(m.m_from, m.m_piece);
  setNonCapturingQueen(m1);
  m.m_piece->m_pinnedState = getPinnedState(m.m_from);
}
示例#3
0
int set_piece(QuartoBoard *board, int x, int y, QuartoPiece *piece)
{
	if(board->size < 16 && is_valid_piece(piece)){
		SET_PIECE(x, y, board->board, *piece);
		board->size += 1;
		return 1;
	}else{
		return 0;
	}
}