我是一名新手Android程序员。
我想创造一个简单的游戏。
游戏;
显示介于1到10之间的随机数,假设它是主编号。 显示4个按钮。 第一个按钮值是mainnumber。 第二个按钮值是mainnumber + 1 第三个按钮值是mainnumber - 1 最后一个按钮值是mainnumber + 2
怎么玩; 如果用户单击了正确的按钮(主编号),它将显示另一个数字和按钮。
我的代码;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_easygame);
Button b1 = (Button)findViewById(R.id.answer_one);
Button b2 = (Button)findViewById(R.id.answer_two);
Button b3 = (Button)findViewById(R.id.answer_three);
Button b4 = (Button)findViewById(R.id.answer_four);
Random number = new Random();
int mainnumber = number.nextInt(10)+1;
int rnd1 = mainnumber + 1;
int rnd2 = mainnumber + 2;
int rnd3 = mainnumber - 1;
String a = Integer.toString(mainnumber);
String b = Integer.toString(rnd1);
String c = Integer.toString(rnd2);
String d = Integer.toString(rnd3);
((TextView) findViewById(R.id.display)).setText(Integer.toString(mainnumber));
List<Button> buttons = Arrays.asList(b1, b2, b3, b4);
List<String> texts = Arrays.asList(a, b, c, d);
Random rand = new Random();
buttons.get(rand.nextInt()).setText(texts.get(rand.nextInt()));
}
获取系统错误,并关闭应用。
问题; 如何每次随机显示按钮,如何检查单击按钮是否为真按钮。
...谢谢
答案 0 :(得分:1)
Collections.shuffle(texts);//shuffle the buttons
//shuffle the buttons if you want as well, but whatever..
int i = 0;
//for loop moved below..
/*
for(Button button : buttons)
{
button.setText(texts.get(i++));
}
*/
//custom android.view.View.OnClickListener instance.
OnClickListener onClick = new OnClickListener()
{
public void onClick(View view)
{
Button button = (Button) view;//safe cast since this is only added to buttons.
String value = button.getText();
//process button value..
}
};
for(Button button : buttons)
{
button.setText(texts.get(i++));
button.setOnClickListener(onClick);
}