gpt4 book ai didi

javascript - 需要二十一点游戏中 if 语句的帮助

转载 作者:行者123 更新时间:2023-11-28 13:43:10 26 4
gpt4 key购买 nike

我正在开发我的第一个黑 jack 游戏,但我总是对最简单的事情感到困惑。问题出在我的 if 语句中,我这样说:

if ( cardsinhand < 7 && newcard != firstcard && newcard != secondcard )

当我按下“打我”按钮时,它会一遍又一遍地发给我同一张牌。这是我的功能。我需要if语句中的信息为真然后执行,否则不执行。

cardsinhand = 2
firstcard = Math.floor(Math.random() * 1000 % 52)
secondcard = Math.floor(Math.random() * 1000 % 52)
newcard = Math.floor(Math.random() * 1000 % 52)

function hitCard()
{
if ( cardsinhand < 7 && newcard != firstcard && newcard != secondcard )
{
document.images[cardsinhand].src = "http://www.biogow/images/cards/gbCard" + newcard + ".gif"

cardsinhand++
}
}

知道为什么这不起作用吗?

最佳答案

这实际上并不是 if 语句本身的问题。看来是这样的:

newcard = Math.floor(Math.random() * 1000 % 52)

执行一次,而不是每次击中时执行。这意味着您一遍又一遍地获得同一张卡。

您可能应该在每次执行命中操作时重新计算一张新卡。

<小时/>

您可能还应该研究如何生成卡片。通常,您会使用一副牌(包含一副或多副“真实”牌),以便概率随着牌被移除而改变,就像在现实生活中一样。

这也可以解决使用 * 1000 % 52 带来的任何倾斜问题,因为它倾向于在“牌组”的一端放置卡片。

关于javascript - 需要二十一点游戏中 if 语句的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16391399/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com