xo = ((temp.npieces%2)==1)? 1 : 2;
私は、これはそれの全体が何を意味するのかを把握することはできません。
XOは、整数(Iは単に無駄と交差との間の差を決定することと思う)
TEMPがnaughtsと交配ボードに関する情報を格納する位置のインスタンスである(naughtsのボード上の位置であり、十字架、ゲームの状態(それが勝利してきたかどうかすなわち、失われた、または未定)、そしてボード上に、これまでに設置個数
npiecesは、これまで
を置いピースの数を格納%2は、明らかに、n分割の残りを2で割ったものを決定して、t彼は奇妙なものでも、十字架でもいいのですか?
最後に私を混乱させる部分は、? 1 : 2
ビットです。私はこのようなことを前に見たことがありますが、私はこれが何をしているのか分かりません。私はこれがかなり基本的なものだと知っていますが、大学2年目(2年目)にはかなり病気で、奇妙な断片を見逃してしまいました。
(これは私が取り組んでいる課題のコードの一部です - 数百行のコードを理解しようとしています。これが含まれています。これは割り当てであるため、私はですよりこの行が何を意味するのか正確には言わないでください。そして実際には? 1 : 2
を説明するリソースの方向を指摘するだけで、私はそれを自分で解決できます。オンラインリソース、またはSafariで利用できる教科書の大きな章オンラインの本は非常に役に立ちます。もちろん、ここでは非常に簡単な説明です)
ありがとうございました。
不特定の質問のタイトルの謝罪は、よく知られていないコードが何をしているのかわからなくても、私はそれを表現するより良い方法を考えることができませんでした。
これは、 'xo = 2 - (temp.npieces & 1);' – ruslik
@ruslik:moduloを行うことを意図しているなら、 '2 - (temp.npieces%2)'がより明確になると思いますとにかくこの種の単純な最適化はコンパイラによって行われ、コードを読みにくくする傾向があります。 – ereOn
真実は、3項演算子はキーワードaprioriを知らなくてもGoogleには難しいということです。 – ruslik