私はFirebaseを使用してAndroidスタジオでTicTacToeオンラインマルチプレイヤーゲームを作ろうとしています。私はボタン(TicTacToeの9ブロックのうちの1つ)に使用しているコードを以下に示します。今は、もう一度ボタンをクリックして他のユーザーにクリックする時間を与えると、他のボタンをクリックしないようにタイマーを使用しています。しかし、あるユーザーが他のユーザーがボタンをクリックするまでボタンをクリックできないようにしたいのです。そうする方法はありますか? なしのデフォルト値は&面& a1は "0"で、追加のデフォルト値は "1"ですが、rfaceは "face"からその値を得る文字列変数です。Androidでturn onClickを使ってtimerを置き換える方法は?
//below clicking
a1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//below
//starting if condition
if (ra1.equals(nothing)){
if (rface.equals(nothing)){
a1.setBackgroundResource(R.drawable.rounded);
Firebase refChild = ref2.child("a1");
refChild.setValue("round");
refChild = ref2.child("face");
refChild.setValue("one");
}
else if (rface.equals(added)) {
a1.setBackgroundResource(R.drawable.crossed);
Firebase refChild = ref2.child("a1");
refChild.setValue("cross");
refChild = ref2.child("face");
refChild.setValue("zero");
}
//timer below
a1.setClickable(false);
a2.setClickable(false);
a3.setClickable(false);
b1.setClickable(false);
b2.setClickable(false);
b3.setClickable(false);
c1.setClickable(false);
c2.setClickable(false);
c3.setClickable(false);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
a1.setClickable(true);
a2.setClickable(true);
a3.setClickable(true);
b1.setClickable(true);
b2.setClickable(true);
b3.setClickable(true);
c1.setClickable(true);
c2.setClickable(true);
c3.setClickable(true);
}
}, 3000);
//timer above
}
}
});
数値で終わる変数名は通常、配列またはリストを使用する必要があることを示します。 –
あなたの実際の質問に関して、あなたはコンピュータプレーヤーを持っていますか、これは2人の人間のプレーヤー用に作られていますか? 2人の人間のプレイヤーは、同じデバイス上で、あるいはネットワーク上でプレイしていますか? –
変数名はちょっと混乱します。 'ra1'と' rface'はどういう意味ですか? '何もない'と '追加された'とは何ですか? –