Если у вас есть только, скажем, 2 кнопки слева, поскольку вы по-прежнему генерируете случайное число в диапазоне от 0 до 4, у вас есть только 20% шансов на фактическое исчезновение еще одной кнопки - 20% времени ничего не делать, потому что случайное число соответствует правильному, и в 60% случаев при таких условиях вы ничего не делаете, потому что оно соответствует уже исчезнувшей кнопке.
Я предлагаю вам сохранить массив, изначально заполненный ссылками на 4 кнопки, которые могут фактически исчезнуть (не пытайтесь поместить туда правильную цифру, так как вы никогда не пропадете). В вашей функции сгенерируйте случайное число от 0 до N-1, когда в этом массиве осталось N кнопок, чтобы вы могли пропустить соответствующую кнопку с эффективным и кратким кодом - затем (если исчезнувшая кнопка была не последней один в массиве) замените его последним и уменьшите N на единицу. Конечно, когда N равно 1, случайное число также не нужно.