1

我目前正在尝试用 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 个随机数并显示链接的图像。

我需要像扑克一样计算点数,但我不知道如何比较多个数组项......

如果有人可以帮助我计算这些要点,将不胜感激!

4

1 回答 1

1

所以你有一手牌(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

在途中分配积分等。

于 2012-10-19T11:35:52.543 回答