骰子滚动战斗系统

时间:2018-04-02 11:01:56

标签: java android

我正在做这样的事情: 当你点击按钮时,它会在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;
    }
}

}

1 个答案:

答案 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;