ゲーム 公開

プログラマーの登竜門、国民的対戦ゲーム「オセロ」公開

2018/06/10

 

こんにちは。えいたです。

「生涯プログラマー」の方を尊敬します。

IT技術者がオセロゲームを制作できない、日本は大丈夫?

目標:定年を迎えても、オセロを制作できる技術力が欲しい

IT技術者として最低限のマナー、年齢は関係なし。

  • ITの仕事をしているから、IT技術者?
  • ソースコードのコピー&ペーストが仕事、プログラマー?

極端な例ですが、現実の一端です。自分でモノづくりをせず、技術力は衰退。

プライベートの時間も勉強せず、家族サービスの名を借りた逃げの姿勢!

しかし、業務経験は長いので重宝されます。

「いつまでも、その仕事があると思うな!」

不測の事態に備えて、アラサー後半がオセロを制作しました。

 

スポンサーリンク

外部設計:石と背景

小学生の頃、オセロで遊んだ記憶が甦る・・・

両面が白黒の石と緑の背景

相手の石を挟めば、石を裏返します。

最低でも「相手の石を1つ以上挟む箇所」に置く必要があります。
どこでもOKならば、誰でも四隅に置くから。

オセロのルールを知っていれば、制作は簡単?

白黒の石・背景(8×8のマス目)があれば、外部設計は終了です。

 

「オセロ」で遊ぶ

「オセロ」について

ルール

相手の石を裏返して、個数を競うゲームです。

対戦モードは「CPU・対人」の2種類を実装しました。

  • 先手(黒石):あなた
  • 後手(白石):CPU・対人

相手の石が挟める箇所をクリックして下さい。

挟める箇所がない場合は、自動的にパスの判断をします。

ゲーム終了判定は「全マス目が埋まる or 双方が石を挟めない」です。

石の個数を競い、多い方が勝利

画面構成

開始前画面、対戦相手をクリックします。

マス目:石の配置箇所を決定します。

RESETボタン:開始前画面に戻ります。

操作方法

石の配置 → マス目をクリックして下さい。

 

内部設計:CPUのロジック

一番苦労した部分は、CPUのロジックです。

僕は年齢を重ねて、思考が変化しました。

四隅は石で挟めない → 自分の石が確定

  • 小学生時代:絶対に四隅を渡すな
  • 現在:四隅を渡しても、勝利優先

四隅をとれば、有利ですが・・・100%の確率で勝利できない。

オセロの世界は奥が深く、意図的に四隅を渡す戦術もあります。
その部分をAIで再現するには、先読みの導入が必要!

CPUロジックの構築にあたり、小学生時代の思考を詰め込みました。

【オセロ】超簡単制作、CPUアルゴリズム(AI)を公開!

ロジックが複雑化 → 処理時間が長い → ユーザがイライラ

先読みの導入は見送り、処理を軽くしています。

 

さいごに

プログラムの面白さは、上司の命令では経験できません。

外部設計 → 内部設計 → プログラム → テスト → 完成

社会人は簡単なモノづくりでも、1人で実行する機会は限られるから。

よって、プライベートの時間を使用しました。

結果:「現在の僕 vs 小学生の僕」が実現

四隅を2つ渡して、勝利!

小学生相手に大人げない?

仕方ないなぁ・・・あなたがCPUの相手をお願いします。

敗北したら、小学生の僕を褒めて下さい。

 

他のゲームも遊んで下さいね。

ゲーム一覧

 

広告(関連)

-ゲーム, 公開