我目前正在尝试用JS制作一个简单的骰子游戏,但我被困在计数部分。
我需要掷骰子,然后像在扑克中那样对它们进行计数(对,双对,布雷兰,同花顺等)。
这是一款2人游戏。这是我的代码:
var boulier = [1, 2, 3, 4, 5, 6];
var done = false;
for (var i = 1; i < 6; i++)
{
var number = Math.floor((Math.random() * 6) + 1);
tabWinner[i] = number;
document.getElementById("p1_de_"+i).src = "de_" + number + ".jpg";
if (i == 5)
{
done = true;
}
}
它只是获得1到6之间的5个随机数,并显示链接的图像。
我需要像扑克一样计算点数,但是我不知道如何比较多个数组项...
如果有人可以帮助我表达这些观点,将不胜感激!
最佳答案
所以,你有一只手(tabWinner?)-数字数组
var hand = [n1, n2, n3, n4, n5]
您想先对其进行排序,因为使用排序数组可以轻松进行所有操作
hand.sort()
然后,您可以检查从大组合开始的特定组合
// five of a kind
hand[0] == hand[4]
// straight (dunno, there may be a shorter way)
hand[4] - 1 == hand[3] && hand[3] - 1 == hand[2] && hand[2] - 1 == hand[1] && hand[1] - 1 == hand[0]
// four of a kind
hand[0] == hand[3] || hand[1] == hand[4]
// full house
hand[0] == hand[1] && hand[3] == hand[4] && (hand[2] == hand[1] || hand[2] == hand[3])
// and so on
在途中分配点等