Как сгенерировать пятерку в натуральном или фулл-хаусе, используя покерные кости? - PullRequest
0 голосов
/ 10 ноября 2018

function getTotal(){

var answers = ["A","K","Q","J", "10","9"]

var randomAnswer = answers[Math.floor(Math.random() * answers.length)];

const side1 = answers[Math.floor(Math.random() * answers.length)];
const side2 = answers[Math.floor(Math.random() * answers.length)];
const side3 = answers[Math.floor(Math.random() * answers.length)];
const side4 = answers[Math.floor(Math.random() * answers.length)];
const side5 = answers[Math.floor(Math.random() * answers.length)];
const diceTotal = side1 + side2 + side3 + side4 + side5;
console.log("diceTotal == " + diceTotal)
}
getTotal();

Выше код должен получить случайные пять чисел, как, скажем, для предположения «AJK10Q», Здесь в массив A - Ace, K - King, Q-Queen, J - Jack, 10 и 9.

Как мы можем генерировать различные возможности раздач, такие как Пять видов, фулл-хаус, стрит две пары и т. Д. было бы хорошо, если кто-то может придумать или откомментировать это?

Заранее спасибо.

1 Ответ

0 голосов
/ 11 ноября 2018

Одним из простых способов было бы иметь 4 из любых чисел, затем случайным образом пролистать их и вытолкнуть карту, так что вы не получите, например, 5 As или 5 Ks.

let answers =  ["A","K","Q","J", "10","9","A","K","Q","J", "10","9","A","K","Q","J", "10","9","A","K","Q","J", "10","9"]
let side = []
for (let i=1; i<=5; i++){
 let x= Math.ceil(Math.random()*answers.length);
 side.push(answers[x])
 answers = [...answers.slice(0,3), ...answers.slice(4)]
}
console.log(side)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...