b4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (b4.getCompoundDrawables() == null) {
if (turn == 1) {
turn = 2;
b4.setBackgroundResource(R.drawable.iks);
} else if (turn == 2) {
turn = 1;
b4.setBackgroundResource(R.drawable.oks);
}
}
}
});
我有可绘制的iks(X)和oks(O)(制作XO游戏),我想使用我的IF命令来检查b4(按钮)是否已经在其上绘制了背景,以便能够仅制作1更改为按钮,因此您无法使用已再次使用的按钮。
答案 0 :(得分:1)
您可以使用getBackground
查看是否已设置背景可绘制:
if (b4.getBackground() == null)
然而,你应该设计一个"模型"为你的tic-tac-toe游戏。
这是一个想法:
存储一个可以存储三个可能值的2D int数组:0,1和2. 0表示正方形中没有任何值。 1表示有一个十字架,2表示没有。您可以为这些创建常量:
public static final int EMPTY = 0;
public static final int CROSS = 1;
public static final int NOUGHT = 2;
公开一个名为updateArray(int x, int y, int value)
的方法,用于更新指定x
和y
位置的值。
每次调用此方法时,请设置正确视图的drawable。
现在检查" square"中是否有任何内容,您只需检查数组EMPTY
。