【发布时间】:2014-04-07 20:30:51
【问题描述】:
我正在制作这个纸牌游戏应用程序,当用户点击卡片时,这张图片会变成随机的其他卡片。这是一个例子:
public class MainActivity extends Activity {
int[] cards={R.drawable.aceofspades,R.drawable.aceofhearts,R.drawable.aceofclubs};
static Random r = new Random();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void imageClick(View view) {
int n=r.nextInt(cards.length);
{
ImageView image = (ImageView) findViewById(R.id.imageDice1);
image.setImageResource(cards[n]);
}
}
}
我想更改代码,以便同一张卡片不会显示两次,直到所有卡片都通过。所以在这种情况下,当牌是“aceofspades”时,下一张牌和之后的牌不应该是“aceofspades”。 用户将看到的第一张图片是“R.drawable.cardback”。 我想要一个代码,在显示所有卡片后将图像更改回“cardback”。 任何帮助表示赞赏。
【问题讨论】:
-
只是为了评论您应该真正将图像资源保存在一个数组中,这样您就不必输入 52 个 if 语句。其次,您应该使用 if else 语句,因为即使找到匹配项,您的程序也会继续检查计数器