💬
10/24 コンピュータ対戦をつくるには
全体のながれ
コンピュータ対戦を作るには
ルール
○が人間で始まったら✕はコンピュータ
そのゲームが終わり次のゲームに進むとき(勝負がつくまたは引き分け)は
次は○がコンピュータで✕は人間
と、順番を入れ替える
どちらの順なのかを制御する
Form1クラスとDocumentクラス、どちらで制御するのか考えてみよう。
これまでも、Form1クラスは表現・表示する役割、Documentクラスは「ボードの状態を記憶」や「○✕順の記憶」をしていることから、今回も、どちら側からスタートするかを表示するのはForm1クラス、どちら側の順からスタートするのかを記憶しているのがDocumentクラスとします。
人間かコンピュータかの状態を覚えるならbool型の変数をDocumentに用意して、覚えておくのがよい。
それを表示するのはForm1クラスの方。
よって、Documentクラス側に、どちら側の順番なのかを他のクラスに教える関数が必要。
【実習】
Document側にどちら側か覚えるbool型の変数、bool bTurnを作り、その値を公開するgetTurn関数を作りましょう。
Form1の上に
○はあなたの番です か ○はコンピュータの番です
を、表示しましょう。
Discussion