1

我写了一个二十一点脚本,我想递归地迭代它,直到一个相当大的资金用完。我想对遥测进行分析。这是一个存在于本地的脚本,除了我正在运行它的浏览器环境之外,它不会对任何东西构成危险。

本质上,脚本应该是递归的,直到现金用完。它可以正常工作到大约 5k 手左右 - 对于高达 10k 的资金,然后它会引发最大调用堆栈错误。但是,我需要更多的数据;喜欢 > 100k 手。

我已经在 SO 中搜索了解决方案,并且我正在收集它是特定于浏览器的东西。任何想法将不胜感激!

附上代码片段:

function main() {
init();
if (bankRoll >= initialBet) {
    determineBet();
}
else {
    alert("Not enough moneyz to play!");
    console.log("telemetry");
    exitFunction();
}
bankRoll -= initialBet;
playTheGame(); // the whole game, betting, receiving cards, strategy etc
}
4

1 回答 1

1

我建议你使用一个循环:

function main() {
    init();
    while (bankRoll >= initialBet) {
        determineBet();
        bankRoll -= initialBet;
        playTheGame(); // the whole game, betting, receiving cards, strategy etc
    }
    alert("Not enough moneyz to play!");
    console.log("telemetry");
    exitFunction();
}

很难说我是否正确地重构了它,因为我不知道函数喜欢什么playTheGamedetermineBet做什么,但我希望你能明白。

于 2013-06-02T13:39:17.537 回答