[お題にTRY] Canvas三目並べ #4日目

Pocket
LINEで送る
GREE にシェア
LinkedIn にシェア

こんにちわ。
 

プログラミングは立ってする事が通常の、下駄です。
 

通常は椅子に座って行うプログラミングですが、人が椅子に座るという事は、逆に体に負荷を与えているという一面もあるので、なるべく立って行えるように作業テーブルの上に、パソコンスタンドをおいて作業してます。
 


 

人は、座っているよりも立っている方が、体に負担がかからない自然な姿勢なので、腰痛や膝痛などの軽減にもつながるそうですよ。
 

本日のIT謎掛け

「パソコン作業」と、かけまして、
 

「大人の男性の正装」と、ときます。
 

そのココロは・・・
 

タイピン(typingとネクタイピン)が欠かせません。

アルゴリズム検討

見た目はほぼ完成した「三目並べ」ですが、ちゃんとしたゲームになっていません。
 

まずは、三目並べでそれぞれが、コマ(マーク)をおいた時に、その都度コマが3つ並んでいるかどうかの判定を行って、3つ並んでいた方の勝ち(○か×)を判定しなければいけません。
 

三目並べは最初の2手で、勝ち負けがほぼ決まってしまうらしいのですが、難易度の設定はまあまあ難しくなりそうなので、今回は省きます。
 

参考 : https://ja.wikipedia.org/wiki/%E4%B8%89%E7%9B%AE%E4%B8%A6%E3%81%B9
 

ソースコード

 

解説

勝ちパターンの判定は、3目並べの場合は、縦横ななめの合計8パターン存在します。
 

これを配列で持っておいて、プレイヤーサイドと、コンピュータサイドの登録された結果データで全てに配置されている場合は、3つ並んだという判定をするようにしました。
 

ビット計算方式で、もう少し簡潔なコードも書くことは可能ですが、初期版はシンプルアルゴリズムで行うことにしますね。
 

ちなみに、前回までのプログラムでは、this.bufferに、打ち込んだコマの番号だけを順番に登録していたんですが、どちらのプレイヤーが打ったコマなのかを判断しなければいけないことに気が付き、その点を改修しています。
 

今のバージョンだと、コンピュータがランダムだけなので、アホすぎるので、次回は、もう少し打つ手を考えるようにしてみたいと思います。

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です