// 現在のターン数 private int turnCount = 0; // クリックするごとに、○と×を交互に配置していく private void labels_Click(object sender, EventArgs e) { // ★ sender はクリックされた Label を表している ★ var lbl = (Label)sender; // ○×がセット済みなら抜ける if (lbl.Text == "×" || lbl.Text == "○") { return; } // ターン数を増やす turnCount++; // 先手なら○、後手なら×を表示 lbl.Text = "×○"[turnCount % 2].ToString(); // 何行目何列目のボタンが押されたのかを // 確認するため、タイトルバーにセル番号を記述 var pos = tableLayoutPanel1.GetCellPosition(lbl); this.Text = "Click:" + pos.Column + ", " + pos.Row; // 余力があれば、ここに三目並べの勝敗判定を記述していく /* ** ・縦横斜めのいずれかが揃っていれば、勝敗表示をしてゲーム終了処理 ** ・揃っていなくて turnCount が 9 に達していれば、引き分け処理 ** ・揃っていなくて turnCount が 9 未満なら、何もせずそのままゲーム継続 */ }