我想实现一个成就系统,以我的随机数猜测游戏,但我没有构建一个有效的逻辑。 我希望它有一个成就系统检测连续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