« X1 TurboZ の4096色中8色×2画面合成テスト | トップページ | 自作リバーシ(オセロ)同士で対戦→強さの検証をしてみた »

2016年8月13日 (土)

Excelでオセロ(リバーシ)を作ってみた

最近、プログラミングが全く出来ていません。
X1版ゼビウスを(改善点はあるにせよ)作り終えてしまったので、「次は何をするのか」を思案しておるところです。

出来れば、X1 Turbo Zで、ゼビウスを作ってみたいとは思っているのですが・・・・
(X1 Turbo Z持ってないけど)
 
そんな訳で、「ちょっと、コーヒーブレイク(?)」として、「Excelでコンピュータ対戦オセロ」を作ってみました。
(※以降「リバーシ」と書きます。Othello、オセロは株式会社メガハウスの登録商標)
 
なぜ、そんな無意味な事をするのか?
 
それは、Excel VBAの実行速度に興味が沸いたからなのです。
 
Excelには、随分と楽をさせてもらっています。
ちょっとした、ツールは、殆どExcelで作ってしまっています。

Excel VBAを使いこなしている訳ではありませんが (自分が必要となるものならば) 「サクッっと作れる」のが、非常に便利です。
 
昔ながらのBASICのスキルが、かなり使えるのも私には向いているのかもしれません。
そして、「ソコソコ」な速さで動いているような気がします。
 
ならば、「リバーシの先読み」をしたら、どの程度で動くのか、確かめたくなるではありませんか。
 
00
 
「サクッっと完成!」
(やっぱり、BASICって楽だな~)
えーと見た目はアレですが・・・・
 
なお、これは、以前ポケコン(PC-G850) で作ったロジックをそのまま採用しています。
なので、リバーシの素人(?)からしてみたら、「強からず、弱からず」だと思います。
(ファイミコンオセロの最強レベルよりは強い)
 
 
なお、ポケコン版(PC-G850)の最強レベルは、以下の通りです。
 
  必勝読み前までは 4手先読み
  必勝読み   空き13マスから
  完全読み   空き10マスから
 
ポケコン(PC-G850)は、Z80なのですが、(最強レベルだと)「かなり、待たされます」
8ビットマシンでは、(私のプログラミング技術では)、こんなモノです。
 
今回、いくらなんでも、そこまで遅くは無いであろうと思い、最強レベルは以下の仕様にしました。
 
  必勝読み前までは 6手先読み
  必勝読み   空き18マスから
  完全読み   空き15マスから
 
 
早速、リバーシ素人の私がプレイ開始!
コンピュータの強さは、レベル3 (上から2番目=ポケコン版の最強レベルと同じ強さ)
 
 
01
 
自分は「黒」です。(先手)
 
02
 
残り4マスで、42対18と、「黒の数は」多い
・・・しかし、置けるトコロが、B2しかないヨ
もう、中盤から、コンピュータに支配されまくっていました。
 
03
だよね~
04
 
んで、やっぱり負けです。
次は白(後手)で、チャレンジ
Excel_reversi_0000
 
勝てない・・・・
と言う事は、「ちゃんと出来ている」って事かな。
 
↑動画キャプチャの時間短縮(編集工程削減の為)、あまり深く考えずに着手しています。
だから、負けた?
 
さすがに、4手先読み程度ならば、Excel VBAでも、サクサクと動きます。
 
しかし、最強レベル(S)を選択すると、とっても遅くってダメでした。
18マス空きからの、必勝読みなんて、フリーズしたかと思ってしまいましたよ。
(30年前ならば、コレでもOKかと思いますが、現代ではありえません)
 
 
【まとめ】
 
「Excel VBA の実行速度は、(想像以上に)遅かった!!」
 
 
一応、ダウンロードできるようにしておきました→こちら
(使う人は皆無だろうけどね)
 
【蛇足】
 
なお、ポケコン風リバーシはこちら
そして、「普通の」Windows版リバーシはこちら

|

« X1 TurboZ の4096色中8色×2画面合成テスト | トップページ | 自作リバーシ(オセロ)同士で対戦→強さの検証をしてみた »

リバーシ・オセロ」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/502190/64051216

この記事へのトラックバック一覧です: Excelでオセロ(リバーシ)を作ってみた:

« X1 TurboZ の4096色中8色×2画面合成テスト | トップページ | 自作リバーシ(オセロ)同士で対戦→強さの検証をしてみた »