java - 骰子滚动战斗系统

标签 java android

我正在做这样的事情: 当你点击按钮时,它会在 1-6 中掷一个骰子,它会从你的对手的 hp 中提取它。我写了一个代码,但它从对手的第一个 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;
    }
}

最佳答案

您忘记更新您的 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;

关于java - 骰子滚动战斗系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49610018/

相关文章:

Java分割包含多个xml文件的xml字符串,同时保留模式

java - 如何创建工厂方法来用功能替换构造函数?

Android:安装快捷方式

android - AsyncTask publishProgress 没有更新我的 ProgressDialog

java - Android 长轮询 TCP 连接

java - 尝试增加 jvm 内存时,您可以将 Xmx 设置为最大数量吗?

java - 添加 spring ws security 后 Weblogic 部署失败

java - Firebase Firestore 分布式计数器文档代码崩溃

android - Eclipse 项目资源管理器上出现未知错误

android - 为什么在 ScrollView 中键盘在 AutoCompleteTextView 上重叠