4つの変数の間の等価性を確認するにはどうすればよいですか?これは、3Dティックタック・トゥ・ゲームのためのものです。双方向同等
if (b[0][0] == b[1][0] == b[2][0] == p) { line += 1; }
これは、同等の意味が左から右であるため動作しません。私は以下のいずれかを行うにはしたくない:
if (b[0][0] == p && b[1][0] == p && b[2][0] == p) { line += 1; }
if ((b[0][0] == b[1][0]) && (b[1][0] == b[2][0]) && (b[2][0] == p)) { line += 1; }
私はちょうど& &を使用することができますboolsを知っているように、すべての変数は、整数です。より良い方法がありますか?私はみなさ:
if ((b[0][0] + b[1][0] + b[2][0]) == (3 * p)) { line += 1; }
p
ので(O用X用XまたはOでもないため0、1、2)の3つの値のいずれかになります、それはわずか4かに不可能なものにOの値を変更する必要があります3つの1、0、またはそれらの組み合わせで達成する。しかし、それは精巧さに欠ける。
私は唯一の学生ですので、私の推薦が良いかどうかわかりません。しかし、あなたは 'switch()'ステートメントに何か考えましたか? ifを補うためにネストされたケースを持つことができます。 – Callat
なぜあなたはそれが欲しくないのですか? –
@ KazRodgers私はそうかもしれませんが、同様の構造(3D Tic-Tac-Toeのためのものです)を持つ数十の線があります。 – gator