這是我在這裏的第一篇文章。提前感謝您花時間閱讀我的問題。遊戲模擬器超時
我是新手編碼器。我有一個十年前的計算機科學未成年人。我有一個衝動去做一些簡單的編碼,並且有機會出現,所以我做到了!
在開發遊戲時,我想運行一個程序來確定給定參數給定結果的機會。我興奮地達到了這個目標,但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