protected MoveResult checkGameOver() {
		MoveResult result = MoveResult.OK;
		boolean blueflysurrounded = false;
		boolean redflysurrounded = false;
		
		// check surrounded butterflys
		if(bluefly != null) {
			if(num_adjacent(bluefly) == 6) {
				blueflysurrounded = true;
			}
		}
		if(redfly != null) {
			if(num_adjacent(redfly) == 6) {
				redflysurrounded = true;
			}
		}
		
		// check for early endgame
		if(blueflysurrounded && redflysurrounded) {
			result = MoveResult.DRAW;
		}
		else if(blueflysurrounded) {
			result = MoveResult.RED_WINS;
		}
		else if(redflysurrounded) {
			result = MoveResult.BLUE_WINS;
		}
		
		return result;
	}