我想實現一個成就係統,以我的隨機數猜測遊戲,但我沒有構建一個有效的邏輯。 我希望它有一個成就係統檢測連續2或3 正確答案。在隨機數猜猜遊戲中使用陣列
每當有正確答案,利弊+ 1(缺點是使用我的成就係統的「連續」功能變數IM。
否則,利弊-1和生活-1。
這裏是我的代碼如下...我確信邏輯中的錯誤是因爲cons - ;和生命 - ;是在循環中掃描陣列匹配(數組是一個即時通訊用來存儲10個兩位數的隨機數,這將成爲每個答案「正確性」的基礎。我的目的是添加LO OP是它將掃描陣列以尋找可能的匹配。
注意:謝謝您提前幫助您!
這裏是我的代碼:
public void cmpans()
{
String txget;
txget=gametext.getText();
String pars;
int ans;
pars=gametext.getText();
ans=Integer.parseInt(pars);
for(int i=0; i<10; i++) //this is my "Array Scanner" Loop
{
if(ans==arr[i])
{
userscore=userscore+10;
lbscore.setText("Score: "+userscore);
ck[i].setSelected(true);
arr[i]=0000;
cons++;
gametext.setText("");
lblives.setText("life: "+life);
lbcons.setText("cons: "+cons);
}
else if(ans!=arr[i])
{
cons--; //this is the cons and life im talking about
life--;
if(cons==2)
{
lbachieve.setText("You're a GOOD GUESSER!");
userscore=userscore+20;
}
else if(cons==4)
{
lbachieve.setText("You're an AMAZING GUESSER!!");
userscore=userscore+50;
}
}
}gametext.setText("");
謝謝mr.pcalcao,但玩家的得分是這樣的:每當用戶猜測,用戶核心+10。我認爲,它的工作原理與我預期的一樣(儘管不排除你的答案)。對於錯誤的邏輯,我很抱歉。 '因爲我只是一個二年級的學生,這是我第一次參加java =)。我不知道如何使用「Set randomValues = new HashSet (); 」。它是否也可以像數組一樣存儲10個兩位數的數字,如果用戶的猜測與它匹配,我如何檢查每個元素? –
cryzone
2012-03-08 18:16:56
是的,我明白,最大的問題是增加和減少for內部的邏輯。就像其他的暗示也一樣,這需要去掉for循環。如果您的數組可以多次具有相同的值,那麼Set不起作用(Set不會存儲重複值)。在這種情況下,您需要計算用戶在循環內的次數,然後在外部應用遊戲邏輯。 – pcalcao 2012-03-08 18:21:41
哇。是的,謝謝你。我完全錯過了那一個。呃......你能教我如何使用Set ...我認爲這是一個非常好的主意。 – cryzone 2012-03-08 18:27:52