我正在做这样的事情: 当你点击按钮时,它会在1-6中滚动一个骰子,它会从你的opponet的hp中提取它。我写了一个代码,但它从对手的第一个hp中提取数字.HP必须在每个滚动,它必须小于启动惠普。 这是我的代码:
public static final Random RANDOM1 = new Random();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dosto= 20;
düsmann = 20;
dostt = (TextView) findViewById(R.id.dost);
düsman = (TextView) findViewById(R.id.rakip);
saldir = (Button) findViewById(R.id.a);
saldirr = (TextView) findViewById(R.id.textView);
dostt.setText(dosto+"");
düsman.setText(düsmann+"");
saldir.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
randomD();
}
});
}
public void randomD() {
int sayi = RANDOM1.nextInt(6)+1;
switch (sayi) {
case 1 :
saldirr.setText(1+" hasar");
düsman.setText(düsmann-1 +"");
break;
case 2 :
saldirr.setText(2+" hasar");
düsman.setText(düsmann-2 +"");
break;
case 3 :
saldirr.setText(3+" hasar");
düsman.setText(düsmann-3 +"");
break;
case 4 :
saldirr.setText(4+" hasar");
düsman.setText(düsmann-4 +"");
break;
case 5 :
saldirr.setText(5+" hasar");
düsman.setText(düsmann-5 +"");
break;
case 6 :
saldirr.setText(6+" hasar");
düsman.setText(düsmann-6 +"");
break;
}
}
}
答案 0 :(得分:1)
您忘记更新düsmann
变量,因此针对案例1的切换示例中的所有案例执行此类操作:
case 1:
düsmann = düsmann - 1;
düsman.setText(düsmann);
break;
另外,为了限制一些代码重复,您可以使用方法来执行此操作
private void subtractFromDüsman(int sub){
düsmann = düsmann - sub;
düsman.setText(düsmann);
}
并从您的案件中调用
case 2 :
subtractFromDüsman(2);
break;