gpt4 book ai didi

java - 在增加和减少生活方面遇到困难

转载 作者:搜寻专家 更新时间:2023-11-01 07:43:57 24 4
gpt4 key购买 nike

所以我试图在我的 Android 游戏中添加生命值,当我运行我的 if else block 时,生命值只会减 1 或加 1 但不会增加不仅仅是下降或上升一个,我需要它在每次猜测错误时下降,但事实并非如此。

这是代码块,也许我只需要循环它,但我不确定如何循环。

int lives = 3;
if(guessNumber.getValue() != number) {
lives--;
Log.d("dicee", "You have " + lives + " lives left");


} else {
lives++;
Log.d("dicee", "You have " + lives + " lives left");

}

如果需要任何其他细节,所有代码都在这里

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.NumberPicker;

import java.util.Random;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

final Button rollButton;
rollButton = (Button) findViewById(R.id.rollButton);

//image views for dice

final ImageView leftDice = (ImageView)
findViewById(R.id.image_leftDice);


//Dice array to grab and display images of dice

final int[] diceArray =
{R.drawable.dice1,
R.drawable.dice2,
R.drawable.dice3,
R.drawable.dice4,
R.drawable.dice5,
R.drawable.dice6};


rollButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {

Log.d("dicee", "Ze Button Has Been Pressed!");

Random randomNumberGenerator = new Random();

int number = randomNumberGenerator.nextInt(7);

Log.d("dicee", "The Random Number Is: " + number);

leftDice.setImageResource(diceArray[number - 1]);


NumberPicker guessNumber = null;
guessNumber = (NumberPicker)findViewById(R.id.guessNumber);
guessNumber.setMaxValue(6);
guessNumber.setMinValue(1);
guessNumber.setWrapSelectorWheel(false);

if(guessNumber.getValue() == number) {
Log.d("dicee", "You Are Correct");
} else {
Log.d("dicee", "Try Again");
}

int lives = 3;
if(guessNumber.getValue() != number) {
lives--;
Log.d("dicee", "You have " + lives + " lives left");
} else {
lives++;
Log.d("dicee", "You have " + lives + " lives left");
}
}
});
}

最佳答案

每当用户单击 rollButton 时,lives 将显示为 2(如果递减)或 4(如果递增),这背后的原因是您在 onClick 方法中声明并初始化了 live 变量,因此每次用户单击按钮时都会存活将显示 2 或 4。

在这个问题的解决方案中,在方法之外声明并初始化变量(在类级别)。

关于java - 在增加和减少生活方面遇到困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48718623/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com