【发布时间】:2016-01-19 15:54:10
【问题描述】:
我正在创建一个骰子游戏,但是我不确定如何随机生成图像,因此结果是随机的。最好的方法是什么,我听说一个数组会很好,但是如果我有一个数组,我是否需要 case 语句。
/When pause completed message sent to callback
class Roll extends TimerTask {
public void run() {
handler.sendEmptyMessage(0);
}
}
//Receives message from timer to start dice roll
Callback callback = new Callback() {
public boolean handleMessage(Message msg) {
//Get roll result
//Remember nextInt returns 0 to 5 for argument of 6
//hence + 1
switch(rng.nextInt(6)+1) {
case 1:
dice_picture.setImageResource(R.drawable.one);
dice_picture2.setImageResource(R.drawable.five);
break;
case 2:
dice_picture.setImageResource(R.drawable.two);
dice_picture2.setImageResource(R.drawable.four);
break;
case 3:
dice_picture.setImageResource(R.drawable.three);
dice_picture2.setImageResource(R.drawable.five);
break;
case 4:
dice_picture.setImageResource(R.drawable.four);
dice_picture2.setImageResource(R.drawable.three);
break;
case 5:
dice_picture.setImageResource(R.drawable.five);
dice_picture2.setImageResource(R.drawable.two);
break;
case 6:
dice_picture.setImageResource(R.drawable.six);
dice_picture2.setImageResource(R.drawable.one);
break;
default:
}
rolling=false; //user can press again
return true;
}
};
【问题讨论】:
-
如果我有一个数组,我是否需要 case 语句 - 不,你只需得到一个介于 0 和数组大小之间的随机数并对其进行索引跨度>
-
你可以将你的drawables存储在一个数组中,生成一个随机整数,然后获取你的图像索引数组:
array[random]