所以基本上我正在設計一個Rock-Paper-Scissors遊戲。Rock Paper Scissors在C++中循環的方法
我有三種方法(移動)根據他們的勝率選擇。我們稱之爲:methodA()
,methodB()
,methodC()
。
現在我需要每30輪執行一次檢查來檢查贏率。
我有這樣一段代碼:
Move nextMove(){ //Move is a enum including Rock,Paper,Scissors
Move makeMove;
vector<float> checkWinRate = {winRateA,winRateB,winRateC};
//saving my win rates into a vector and sort it
std::sort(checkWinRate.begin(),checkWinRate.end());
if (checkWinRate.back() == winRateA)
makeMove = methodA();
else if (checkWinRate.back() == winRateB)
makeMove = methodB();
else
makeMove = methodC();
//choose methods according to win rates
return makeMove;
}
我現在正在做的是我讓它檢查我每次調用這個函數的時間。 但是,我的最終目標是讓它每30輪檢查一次,併爲接下來的30輪運行相同的方法並再次檢查。這聽起來很簡單,但我無法想象要做到這一點。
任何想法我應該在這裏做什麼?請幫忙。
在你的方法創建一個靜態的整數,並增加它在每個方法調用之後還包括if語句用來檢查是否整數是三,如果它是代碼的if語句將運行然後設置整數回零 –
如果檢查WinRate進行移動至關重要,那麼您需要每輪都進行一次,不是嗎?如果你運行同樣的方法30輪,而不檢查比率,你每次都會做同樣的動作。 –
我的每一種方法都是用不同的學習公式來實現的,他們會根據他們從對手的動作中學到的東西來做出動作。我需要看看每個方法在一段時間內的做法,這就是爲什麼我需要每30輪檢查一次。你能在關於靜態整數增量的答案中寫一個簡短的代碼嗎?我想過這個,但我無法得到它的工作。請幫忙。 –