Stage 5 石を裏返す機能を実装する
5-1 石を裏返す機能をデザインする
みなさんお待ちかね、石を裏返す機能です。
いよっ、待ってました!!
お世辞はその辺にしていただいて、早速デザインしていきましょう。とりあえず今のところ我々が使えそうなカードは turnjudge がメインです。
~~~~~~~~~~~~~~~
では turnjudge をどう使えば石を裏返せるでしょうかね。
それがわかんねーからこれ見てんだよ
まあその通りなのですが、とりあえず turnjudge がどういうメソッドだったか思い出してみましょう。
あれって「[row, col] のマスに石を置いたら direction の方向に石を裏返すことができるか」を判断するメソッドでしたよね。ということは、実はまだ [row, col] のマスに石を置けるか確認してないんですよ。
へ?
例えばこんな場合考えてみてください。
この状態で黒が f5 のマスに石を置こうとしているとします。置けますか?
おけるよそりゃ
では turnjudge(player=BLACK, row=5-1, col=f-1, direction=[-1, 0])
ってしたらどうでしょう?ちなみに [-1, 0] って上方向ですよ。
False 出てくるな
ということで、まずは「石を置くことができるか判別する」機能を搭載してあげなければいけませんね。
~~~~~~~~~~~~~~~
石が置けるとわかったら、turnjudge が True と言っている方向の相手の石を裏返します。これは普通に while ループで「自分の石にぶつからない間は裏返す」ってしておけばいいんじゃないでしょうか。
テキトーやな
いいんですよ。今回はまだ着想段階ですから。次回しっかりコーディングしますので、その時にちゃんと考えましょう。