「 実際には 9の階乗 より だいぶ少ない……☆ 例を示そう☆」
「 ↑ パソコンのキーボードのテン・キーに合わせて 番地 を振ろう☆
配列の添え字も 0を飛ばして この数に合わせろだぜ☆」
「 ↑ 1に〇を書くと、上図の位置だな☆
あとは ×、〇と交互に 番地に沿って置いていこうぜ☆」
「 ↑ このブログは、頭の中で イメージを描けない人に向けて 書いている☆」
「 AtCoder で最近 自分のことを色で表現する人が増えたが、そんな人は このブログを読まなくていい……☆
ログイン ソフコン みたいな雑誌も最近無いんで それぐらい ゆるい プログラム話しを書いてるだけだぜ☆
世の中の役に立つとか、就職に役に立つプログラミングなど もってのほか☆」
「 2000年代00年頃には こんぴゅーたー様 のWebサイトで Java を独習できたけど 無くなったわよね」
「 誰が コンピューターを 人間のための道具に 劣化させたんだろな☆ あっ、揃ったぜ☆!」
「 これだけ見ると、初手の〇の7手詰め、2手目の×の6手詰められ だぜ☆
ただ、他にも手はあるので この手は採用されないんだけどな☆」
「 5手目の着手が確定した時点で、× は自力で勝てないのでは☆?」
「 ↑ 7 と 9 にダブルリーチしているので、 × は どこに打っても負けだぜ☆」
「 じゃあ 4手目が確定した時点で メート3 だったんだぜ☆」
「 ↑ もし × が 4手読み できるなら、 4番地に置くと 自分に メート ー4 がかかることを知ってるぜ☆」
「 〇は、 ×から見て負の偶数のメートが出る着手を してはいけないのよ。
×は、 〇から見て正の奇数のメートが出る着手を してはいけないのよ」
https://raw.githubusercontent.com/muzudho/tic-tac-toe/master/maybe-a-complete-analysis.log
「 ↑ ログを取ってみたが できてるのかどうか 分からん……☆ またこんど☆」
「 また、知っておかなければならないのは、どんな勝ちでも勝ち ということだぜ☆ 見てみよう……☆」
「 王手回避漏れ なんじゃないの!? ×には 6に置く自由 なんて無いのよ!」
「 ↑ この × は置いてはいけなかった、ということだな☆
〇 からしてみれば ぬか喜びの メート5、勝って読みの メート5 だぜ☆」
「 ↑ ところで お父ん☆ moves が ずれてないかだぜ☆?」
「 move(s) じゃなくて pieces_num にしたらいいんじゃないの? パスは無いんだから」
「 ↑ Next を強調すれば いいわけだな☆
それなら 最後は End にしろだぜ☆」
「 ↑ End より None とか、 Next is over の方が 合ってるかも☆」
「 ↑ それに合わせると メートは 上図 のようになるな☆」
「 メートは プラス、マイナス ひっくり返さなくちゃいけないの?」
「 詰める、と、詰められる、を プラスと マイナスで 表現してるんだぜ☆
べつに 奇数が詰める方、偶数が詰められる方なんだが、 ネガマックス法 というアルゴリズムが流行っていて、
プラス・マイナスがひっくり返るのは そいつの癖なんだぜ☆
チェスの UCI や 将棋の USI を使ったGUIソフトは ネガマックス法に合わせている☆」
「 潜れる余裕 なんじゃないの? 肺に残ってる空気 みたいな☆?」
「 ↑ これは 詰まった3 ☆ これを表す言葉がないんで、例えばだぜ☆」
「 ↑ 深さ、という言葉は 錯覚で、上図の場合 高さ なのでは……☆?」
「 ↑ そして メート は -0 があるから、思ってるより 1つ 長いと思うんだぜ☆」
「 -0 のつもりなんだが 0 と判定されてしまうと 計算ができない……☆」
「 で、短手数の勝って読みのメートを 良い手だと判定してしまう不具合を取り除かないとな☆」
https://github.com/muzudho/tic-tac-toe
「 ↑ よし、でけた☆ Git hub に置いておいたぜ☆」
「 知見を書くといいんだろうけど、今日は遅くなったんで また今度だぜ☆」
<書きかけ>
Crieitは個人で開発中です。
興味がある方は是非記事の投稿をお願いします! どんな軽い内容でも嬉しいです。
なぜCrieitを作ろうと思ったか
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください!