我目前正在尝试用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


在途中分配点等

10-07 20:48