Java 斯卡恩';s骰子游戏:comp_总分数未更新

Java 斯卡恩';s骰子游戏:comp_总分数未更新,java,android,Java,Android,下面的代码是电脑玩游戏代码的一部分。问题是电脑播放时,comp_的总分数没有得到更新。 请帮忙 while(comp_turn_score < 20) { //roll logic rollValue = rolldice(); Log.v("\nComputer Roll:",Integer.toString(rollValue)); if(rollValue != 1) {

下面的代码是电脑玩游戏代码的一部分。问题是电脑播放时,comp_的总分数没有得到更新。 请帮忙

 while(comp_turn_score < 20)
    {
        //roll logic
        rollValue = rolldice();
        Log.v("\nComputer Roll:",Integer.toString(rollValue));
        if(rollValue != 1)
        {
            comp_turn_score += rollValue;
            updateLabel("Computer's Turn Score: " + comp_turn_score);

            return;
        }
        else //computer  roll a 1
        {
            //reset turn score to 0 and give control to user
            comp_turn_score = 0;
            updateLabel("\nComputer rolled a 1! Your's Turn");
            rollb.setEnabled(true);
        }
    }

    //computer holds
    comp_overall_score+= comp_turn_score;
    updateLabel("\nComputer Holds! Your's Turn");
    if(checkWinner()) return;
    rollb.setEnabled(true);

}
private void updateLabel(String s)
{
    lable.setText("\nYour score: " + user_overall_score + " Computer Score: " + comp_overall_score +" " + s);
}
while(综合得分<20)
{
//滚动逻辑
rollValue=rolldice();
Log.v(“\n计算机卷:”,Integer.toString(rollValue));
如果(rollValue!=1)
{
综合得分+=滚动值;
更新标签(“计算机的回合分数:+comp_回合分数”);
返回;
}
其他//计算机卷a 1
{
//将回合分数重置为0,并将控制权交给用户
综合得分=0;
updateLabel(“\n计算机掷1!轮到你了”);
rollb.setEnabled(真);
}
}
//计算机舱
综合得分+=综合得分;
updateLabel(“\n计算机等待!轮到你了”);
if(checkWinner())返回;
rollb.setEnabled(真);
}
私有void updateLabel(字符串s)
{
lable.setText(“\n您的分数:+user\u-totall\u-score+”计算机分数:+comp\u-totall\u-score+”+s);
}
删除return语句,所有语句都将按计划工作


删除return语句,所有语句都将按计划工作。

看起来只有当值==1时,它才会更新。return将停止函数。我想您是在寻找中断/继续而不是返回
比较转折点得分的初始值是多少?变量
rollValue
的值是多少?您可以将
else
块中的
comp turn\u分数更改为
0
。不要忘记,这个变量决定了循环条件。基本上,rollvalue是在1到6之间生成的一个随机数,每次相对于rollvalue,comp_turn_分数都会更新。看起来,它只会在值==1时更新。返回将停止函数。我想您是在寻找中断/继续而不是返回
比较转折点得分的初始值是多少?变量
rollValue
的值是多少?您可以将
else
块中的
comp turn\u分数更改为
0
。不要忘记,这个变量决定了循环的条件。基本上,rollvalue是在1到6之间生成的一个随机数,并且comp_turn_分数每次都会根据rollvalue进行更新
  if(rollValue != 1)
    {
        comp_turn_score += rollValue;
        updateLabel("Computer's Turn Score: " + comp_turn_score);

        return;
    }