В общем, если ваши вероятности: {p1, p2, ..., p6}, создайте следующий список помощников:
{a1, a2, ... a5} = { p1, p1+p2, p1+p2+p3, p1+p2+p3+p4, p1+p2+p3+p4+p5}
Теперь получите случайное число X в [0,1]
Если
X <= a1 choose 1 as outcome
a1 < X <= a2 choose 2 as outcome
a2 < X <= a3 choose 3 as outcome
a3 < X <= a4 choose 4 as outcome
a4 < X <= a5 choose 5 as outcome
a5 < X choose 6 as outcome
Или более эффективный псевдокод
if X > a5 then N=6
elseif X > a4 then N=5
elseif X > a3 then N=4
elseif X > a2 then N=3
elseif X > a1 then N=2
else N=1
Редактировать
Это эквивалентно выбору колеса рулетки , которое вы упомянули в своем обновлении вопроса, как показано на рисунке: