質問: EMPTY) { continue; } else { // 置いた駒の周りが自分の色と違う色の場合 //ここの処理がどうやったら効率よくかけるか ``` オセロの挟む判定ができません。 8方向もあるので1方向ずつ見ていけばいいとは思いますが もっと効率よく判定できる方法があればお願いします。
回答: まずはループの最初で「方向」を決めておくべきでしょう。その方向に順に進んでいって、相手の色の数をカウントします(置けるかどうかの判定なら相手の色があったかのbooleanでもいい)。そして 1. 自分の色に当たったときはそれまで相手の色があれば挟める。なければ挟めない 2. 空きマスか盤の端に到達したら挟めない この判定がシンプルなのでは?