这是我在这里的第一篇文章。提前感谢您花时间阅读我的问题。游戏模拟器超时
我是新手编码器。我有一个十年前的计算机科学未成年人。我有一个冲动去做一些简单的编码,并且有机会出现,所以我做到了!
在开发游戏时,我想运行一个程序来确定给定参数给定结果的机会。我兴奋地达到了这个目标,但Google脚本无法处理运行6000万个可能的场景,以计算胜率。
我得到了“错误:超出了最大执行时间”。
我只是想找到我和运行这个程序之间的最短路径。想法:
1)有没有办法消除最大的执行时间,让它只需要一整天?有其他方法可以让它在Google脚本中运行吗? 2)也许我可以通过输入随机数来运行更少的试验。有没有办法在Google脚本中生成随机数字? 3)我应该在Google脚本之外做些什么吗?如果是这样,是否有免费的/负担得起的Mac编译器我应该看看?我试着将它导入Xcode,但我很困惑,似乎无法获得一个简单的编译地点。另外,将其导入“C”会产生一些兼容性问题;尽管我可能只需将它吸起来并在这里重新制作它。
仅供参考,这里有一个选择的时机出来的功能:
function dieFeeder(winCount, fSkill, fMagnitude, fHeart, fDie1, fDie2, fDie3, fDie4, fDie5, cSkill, cMagnitude, cHeart, cDie1, cDie2, cDie3, cDie4, cDie5){
// a parent function to function questionMatrix, feeds the changing dice into it
var matrixWinner;
//This 'for' clause keeps going until all dice permutations have been tried out
for (var i=0; i<60466176; i++){
//This part changes the dice to go through all combiations in a way similar to counting in base 6
if (cDie5 == 7){
cDie5 = 1;
cDie4 = cDie4+1;
}
if (cDie4 == 7){
cDie4 = 1;
cDie3 = cDie3 +1;
}
if (cDie3 == 7){
cDie3 = 1;
cDie2 = cDie2 +1;
}
if (cDie2 == 7){
cDie2 = 1;
cDie1 = cDie1 +1;
}
if (cDie1 == 7){
cDie1 = 1;
fDie5 = fDie5 +1;
}
if (fDie5 == 7){
fDie5 = 1;
fDie4 = fDie4 +1;
}
if (fDie4 == 7){
fDie4 = 1;
fDie3 = fDie3 +1;
}
if (fDie3 == 7){
fDie3 = 1;
fDie2 = fDie2 +1;
}
if (fDie2 == 7){
fDie2 = 1;
fDie1 = fDie1 +1;
}
cDie5 = cDie5 + 1;
//This part checks to see who wins and increases the winCount if it was the Favorite
matrixWinner = questionMatrix(fSkill, fMagnitude, fHeart, fDie1, fDie2, fDie3, fDie4, fDie5, cSkill, cMagnitude, cHeart, cDie1, cDie2, cDie3, cDie4, cDie5);
if (matrixWinner == 'favorite'){
winCount = winCount +1;
}
}
return winCount;
}
谢谢你帮我找的jsfiddle!你是我的英雄!这完全奏效。自从我编写代码已经很长时间了,我已经忘记了当你运行时的令人振奋的感觉,并且它实际上做了你想做的事情。我真的很喜欢在我的公寓里跳来跳去。 – Quizoid 2013-02-28 01:34:16