【发布时间】:2018-05-13 20:07:12
【问题描述】:
我更像是一名媒体开发人员,而不是最好的程序员,但我发现自己需要更好地学习 javascript。我正在创建一个数学纸牌游戏,其中人类玩家和自动玩家各发 6 张牌。每个玩家必须将三张牌组合(连接)成顶部数字,其他三张作为底部数字。然后减去这两个数字。对于自动播放器,我必须检查六张牌的任何可能组合,因此当两个数字相减时,它会尽可能接近目标数字。我对数组不是很好,所以我开始测试每一种可能的组合,然后比较哪个更接近(见下面的例子)。这是一种非常低效的编码方式,但我只是不知道该怎么做。任何帮助将不胜感激。
变量已经被声明了。
alienTopNum = "" + alienNum1 + alienNum2 + alienNum3;
alienBottomNum = "" + alienNum4 + alienNum5 + alienNum6;
oldDiff = targetNum - (alienTopNum - alienBottomNum);
player.SetVar("AC1R1", alienNum1);
player.SetVar("AC2R1", alienNum2);
player.SetVar("AC3R1", alienNum3);
player.SetVar("AC4R1", alienNum4);
player.SetVar("AC4R1", alienNum5);
player.SetVar("AC4R1", alienNum6);
player.SetVar("ATR1", alienTopNum - alienBottomNum);
alienTopNum = "" + alienNum1 + alienNum2 + alienNum3;
alienBottomNum = "" + alienNum4 + alienNum6 + alienNum5;
newDiff = targetNum - (alienTopNum - alienBottomNum);
if (Math.abs(newDiff) < Math.abs(oldDiff)) {
oldDiff = newDiff;
player.SetVar("AC1R1", alienNum1);
player.SetVar("AC2R1", alienNum2);
player.SetVar("AC3R1", alienNum3);
player.SetVar("AC4R1", alienNum4);
player.SetVar("AC4R1", alienNum6);
player.SetVar("AC4R1", alienNum5);
player.SetVar("ATR1", alienTopNum - alienBottomNum);
}
等等……
【问题讨论】:
-
识别您的代码相当困难,因为它目前被格式化为引号。如果您希望将其呈现为代码,则可以在问题编辑器中使用标有花括号 {} 的按钮。由于您的问题不清楚,目前也很难提供帮助。请在此处查看出色的指南,该指南解释了什么是一个好的 Stackoverflow 问题:stackoverflow.com/help/how-to-ask
标签: javascript arrays loops