Вы можете определить массив распределения (псевдокод):
// справедливое распространение
array = {0.1666, 0.1666, 0.1666, 0.1666, 0.1666, 0.1666 };
затем бросьте кубик от 0 до 1, сохраните в x, затем выполните
float sum = 0;
for (int i = 0; i < 6;i++)
{
sum += array[i];
if (sum > x) break;
}
это номер кости.
Теперь, если вы хотите обмануть, измените массив на:
array = {0.1, 0.1, 0.1, 0.1, 0.1, 0.5 };
и у вас будет 50%, чтобы получить 6 (вместо 16%)