public void compMove(){

		theBoard.setMaxLevel();

		if (theBoard.hasNoWinner() == true){
			//sets UI element which details which colour is to move
			if (theBoard.getColourToMove() == 1){
				playerToMove.setText("White to play");
			}
			else{
				playerToMove.setText("Black to play");
			}
			this.paintComponents(getGraphics());

			chosenMove = theBoard.moveSelector(theBoard.getColourToMove());

			if (chosenMove != null){
				//tells the board that "jumps" black pieces have been lost, returning false indicates the game is over
				if (theBoard.getColourToMove() == 1){
					boolean cont = theBoard.setPiecesLost(-1, chosenMove.piecesTaken(), chosenMove.getMoveBoard());
					if (this.whiteToMove(cont, chosenMove)){
						return;	
					}
					theBoard.setColourToMove(-1);
				}
				//tells the board that "jumps" white pieces have been lost, returning false indicates the game is over
				else{
					boolean cont = theBoard.setPiecesLost(1, chosenMove.piecesTaken(), chosenMove.getMoveBoard());
					if (this.blackToMove(cont, chosenMove)){
						return;	
					}
					theBoard.setColourToMove(1);
				}

				compMove.setText("Opponents Last Move:     " + mappingArray[chosenMove.getFromRow()][chosenMove.getFromCol()] + " to " + mappingArray[chosenMove.getToRow()][chosenMove.getToCol()]);
				theBoard.compMove(chosenMove.getMoveBoard());
				theBoard.clearMlist();
			}
			else{
				theBoard.gameOver();
				JOptionPane.showMessageDialog(null , "You have won by causing your opponent to have no moves.\nPlease select new game from the menu to start again.","Results", JOptionPane.INFORMATION_MESSAGE);
				return;
			}
		}
		calGraphicPieceArray(theBoard.getBoard());
		this.paintComponents(getGraphics());
		this.repaint();
		playerMove();
	}