public void promotePawn(int r, int c, int board)
	{
		Player cur = (Definitions.flip(whoseTurn()) == Definitions.Color.WHITE ? m_data.m_game.getP1() : m_data.m_game.getP2());

		if (cur instanceof HumanPlayer)
		{
			String[] param = { "Queen", "Rook", "Knight", "Bishop" };
			String input = (String) JOptionPane.showInputDialog(null, "Which piece do you want to promote to?", "Pawn Promotion", JOptionPane.QUESTION_MESSAGE, null, param, param[0]);

			int sq = (7-r)*8 + (7-c);
			m_boards[board].setPawns(m_boards[board].getPawns() & ~(1L << sq));
			if (input == "Queen")
			{
				m_boards[board].setQueens(m_boards[board].getQueens() | (1L << sq));
			}
			else if (input == "Rook")
			{
				m_boards[board].setRooks(m_boards[board].getRooks() | (1L << sq));
			}
			else if (input == "Knight")
			{
				m_boards[board].setKnights(m_boards[board].getKnights() | (1L << sq));		
			}
			else //Bishop
			{
				m_boards[board].setBishops(m_boards[board].getBishops() | (1L << sq));
			}
		}
		else //AI chooses queen for now
		{
			int sq = (7-r)*8 + (7-c);
			m_boards[board].setPawns(m_boards[board].getPawns() & ~(1L << sq));
			m_boards[board].setQueens(m_boards[board].getQueens() | (1L << sq));
		}
	}