Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何制作Android猜谜游戏,将猜谜次数限制为3次,然后显示消息_Java_Android_If Statement_Random_Try Catch - Fatal编程技术网

Java 如何制作Android猜谜游戏,将猜谜次数限制为3次,然后显示消息

Java 如何制作Android猜谜游戏,将猜谜次数限制为3次,然后显示消息,java,android,if-statement,random,try-catch,Java,Android,If Statement,Random,Try Catch,我需要做一个android猜谜游戏,到目前为止,我只能尝试3次,之后会显示类似game over的消息,但是我不知道怎么做,因为我对编程还是新手,所以我非常感谢你的帮助 到目前为止,我拥有的Android代码: import java.util.Random; import android.app.Activity; import android.graphics.Color; import android.os.Bundle; import android.view.Menu; import

我需要做一个android猜谜游戏,到目前为止,我只能尝试3次,之后会显示类似game over的消息,但是我不知道怎么做,因为我对编程还是新手,所以我非常感谢你的帮助

到目前为止,我拥有的Android代码:

import java.util.Random;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class Task1Activity extends Activity {

private TextView tvPlayer;
private EditText eName;
private Button butSubmit;
private TextView nameOutput;
private TextView tvNumber;
private EditText eNumber;
private TextView numOutput;
private Button butGuess;
private Button butStart;
private String name_output;
private String number_output;
private TextView tvTries;
private TextView tvTries2;
public static int N;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.task1_layout);
    //Reference the input and output views on the interface
    tvPlayer = (TextView) findViewById(R.id.tvPlayer);
    eName = (EditText) findViewById(R.id.eName);
    butSubmit = (Button) findViewById(R.id.butSubmit);
    tvNumber = (TextView) findViewById(R.id.tvNumber);
    eNumber = (EditText) findViewById(R.id.eNumber);
    butGuess = (Button) findViewById(R.id.butGuess);
    butStart = (Button) findViewById(R.id.butStart);
    nameOutput = (TextView) findViewById(R.id.nameOutput);
    numOutput = (TextView) findViewById(R.id.numOutput);
    tvTries = (TextView) findViewById(R.id.tvTries);
    tvTries2 = (TextView) findViewById(R.id.tvTries2);
}


public void addClick1(View Button){
      name_output = eName.getText().toString(); //get the existing comments
      nameOutput.setText(name_output);//Display the new comments
    } public void addClick2(View Button){
Random r = new Random();
int Low = 0;
int High = 20;
N = r.nextInt(High-Low) + Low;
}

public void addClick3(View Button){



      number_output = eNumber.getText().toString(); //get the existing comments

      try {
            int compareNum = Integer.parseInt(number_output);
             if(compareNum == N){
                  numOutput.setText(number_output + " Good Guess!");//Display the new comments
                  numOutput.setBackgroundColor(Color.GREEN);
              }else if(compareNum > N){
                  numOutput.setText(number_output + " is too HIGH!");//Display the new comments
                  numOutput.setBackgroundColor(Color.RED);
              }else if(compareNum < N){
                  numOutput.setText(number_output + " is too LOW!");//Display the new comments
                  numOutput.setBackgroundColor(Color.RED);
              }
        }
        catch (NumberFormatException e) {
        }
    }
}
import java.util.Random;
导入android.app.Activity;
导入android.graphics.Color;
导入android.os.Bundle;
导入android.view.Menu;
导入android.view.MenuItem;
导入android.view.view;
导入android.widget.Button;
导入android.widget.EditText;
导入android.widget.TextView;
公共类Task1活动扩展活动{
私有文本视图电视播放器;
私有文本编辑器;
私人按钮提交;
私有文本视图名称输出;
私有文本视图tvNumber;
私有编辑文本枚举器;
私有文本视图numOutput;
私人按钮猜测;
私人按钮启动;
私有字符串名称_输出;
私有字符串编号_输出;
私有文本视图;
私有文本视图tvTries2;
公共静态int N;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.task1_布局);
//参考界面上的输入和输出视图
tvPlayer=(TextView)findViewById(R.id.tvPlayer);
eName=(EditText)findViewById(R.id.eName);
butSubmit=(按钮)findViewById(R.id.butSubmit);
tvNumber=(TextView)findViewById(R.id.tvNumber);
eNumber=(EditText)findViewById(R.id.eNumber);
butGuess=(按钮)findViewById(R.id.butGuess);
butStart=(按钮)findViewById(R.id.butStart);
nameOutput=(TextView)findViewById(R.id.nameOutput);
numOutput=(TextView)findViewById(R.id.numOutput);
TVTrys=(TextView)findViewById(R.id.TVTrys);
tvTries2=(TextView)findViewById(R.id.tvTries2);
}
公共作废添加点击1(查看按钮){
name_output=eName.getText().toString();//获取现有注释
nameOutput.setText(name_output);//显示新注释
}公共作废添加点击2(查看按钮){
随机r=新随机();
int低=0;
int高=20;
N=r.nextInt(高-低)+低;
}
公共作废添加点击3(查看按钮){
number_output=eNumber.getText().toString();//获取现有注释
试一试{
int compareNum=Integer.parseInt(数字输出);
if(compareNum==N){
numOutput.setText(number_output+“Good Guess!”);//显示新注释
numOutput.setBackgroundColor(颜色.绿色);
}else if(比较枚举>N){
numOutput.SETEXT(数字输出+“太高!”);//显示新注释
numOutput.setBackgroundColor(颜色:红色);
}else if(compareNum
您必须获得点击次数,例如:

public void addClick2(View Button){
Random r = new Random();
int Low = 0;
int High = 20;
int count = 0;
N = r.nextInt(High-Low) + Low;
}

public void addClick3(View Button){
      count++;
      number_output = eNumber.getText().toString(); //get the existing comments

      try {
            int compareNum = Integer.parseInt(number_output);
             if(compareNum == N){
                  numOutput.setText(number_output + " Good Guess!");//Display the new comments
                  numOutput.setBackgroundColor(Color.GREEN);
              }else if(compareNum > N){
                  numOutput.setText(number_output + " is too HIGH!");//Display the new comments
                  numOutput.setBackgroundColor(Color.RED);
              }else if(compareNum < N){
                  numOutput.setText(number_output + " is too LOW!");//Display the new comments
                  numOutput.setBackgroundColor(Color.RED);
              }
        }
        catch (NumberFormatException e) {
        }
        if(count == 3){
            //set your game over message
        }
    }
}
public void addClick2(查看按钮){
随机r=新随机();
int低=0;
int高=20;
整数计数=0;
N=r.nextInt(高-低)+低;
}
公共作废添加点击3(查看按钮){
计数++;
number_output=eNumber.getText().toString();//获取现有注释
试一试{
int compareNum=Integer.parseInt(数字输出);
if(compareNum==N){
numOutput.setText(number_output+“Good Guess!”);//显示新注释
numOutput.setBackgroundColor(颜色.绿色);
}else if(比较枚举>N){
numOutput.SETEXT(数字输出+“太高!”);//显示新注释
numOutput.setBackgroundColor(颜色:红色);
}else if(compareNum
谢谢,这正是我想要的,但是我必须创建一个公共静态int计数;在我的代码顶部,为了使它工作,无论如何,谢谢你的帮助:)你不需要它静态的必要,你需要它只是在你的代码顶部作为一个类变量!现在我明白了,谢谢:)你知道如何根据猜测的接近程度修改背景颜色吗?你这么做了,我错了吗?numOutput.setBackgroundColor(颜色:红色);是的,我的意思是,如果猜测的数字与随机生成的数字接近两个,那么背景会是黄色,其余的保持不变,你知道我的意思吗?