エクセルで「2人用将棋」作っちゃいました!!
前回は Excel vba でオセロを作成しましたがそのときは1日でサクサク作れたため、調子にのって将棋をつくろうとしたら一週間もかかってしまいました...
- 仕事で疲れすぎて、開発する気力と体力が持たない...
- マウスクリックのイベント検知する方法がよくわからない...
- 駒の動きをすべて実装させるがものすごく大変...
苦労した点はものすごくありますが、とにかく働きながらつくるのが大変でしたね。
帰るのが 9時、10時でそっから作るってこと本当に大変....
まあそんな話どうでもいいので、「マウスクリックのイベント検知する方法」については知らないとどうしようもないので、やり方について別記事にまとめようと思います。
※ クリック検知を行う方法については下記になります。ぜひ参考にしてください。
今回はこのページでは作成した Excel 将棋ファイルについて、その操作方法についてご紹介します。
将棋の作成方法については、別記事でご紹介します(作成中といいつつあまり進んでないのでがんばります。。)
※ Excel 将棋ファイルについて下記からダウンロード可能です。
操作方法
ここでは、ダウンロードしたエクセルについて説明します。
- ゲーム開始と終了
- 駒の操作方法
- 勝敗について
- 先手後手について
- 王手について
ゲームの開始と終了
将棋を始める際は「ゲーム開始」ボタンを押下し、ゲームを終了する場合は「ゲーム終了」を押下します。
また、「ゲーム開始」ボタンを押下するとセル番号 Q2の位置の表示が「ゲーム中」、「ゲーム開始」ボタンを押下すると「開始待ち」となります。
つまり、この表示が「ゲーム中」の場合はゲームがプレイでき、「開始待ち」の場合はゲームがプレイできません。
駒の操作方法
基本はマウス操作になります。
動かしたい駒をクリックすると選択セルが黄色に変化なり、移動できる駒の箇所が薄い黄色になります。
そして移動できる駒の箇所にクリックすることで駒が移動できます。
また持ち駒の処理についても同様に持ち駒から置きたい駒が黄色になり、置ける箇所が薄い黄色になります。
また今回「二歩」の処理を行っております。「二歩」とは同じ列も自分の「歩」の駒を2つ以上は置けないという将棋のルールですが、
元々自分の「歩」の駒がある列に持ち駒から「歩」を置こうとしても置けないようにしています。
具体的には、作成した Excel ファイルでは駒を置ける箇所が薄い黄色をしていますが、そこで「二歩」になるセルに色をつけないように設定しています。
勝敗について
将棋の勝敗はルール上は「王」がとられた時点で終了ですが、
実際に将棋での勝敗が付くケースは、
相手が投了するか「王」が詰む(「王」がどこに動いても次に相手の駒にとられてしまう)状態で
勝敗が付く場合しかないです。
私もかなり昔に将棋をやっていてアマチュア初段をとったことがありますが、「王」がとられて「負けました~」って言っている人は見たことがありません。
なので、本当は「王」が詰む状態で勝敗をつけたいところですが、今回は「王」をとった場合に勝敗が決まるようにしています。
先手後手について
先手後手についてですが、文字が反転していないほうが先手で反転しているほうが後手です。
後手から始めたいということは、このExcel ファイルでは今のところできません(機能追加予定。。)
王手について
自分もしくは相手の「王」の駒が次で相手にとれますよ~という状態が王手ですが、
もし王手の状態になるとメッセージが表示されるようになっています。
本来は王手なら「王」を動かさないといけないのですが、
今回の Excel ファイルでは「王手」の状態でも「王」以外の駒も動けます。
なので、、まあメッセージだけなんですが、「王手」のときは「王」を動かすようにしてください。。
あと、「打ち歩詰め」という「王」が詰む(つまり「王」が動かない、どうやっても次に相手の駒にとられてしまう)場合に「歩」を打って詰ませると反則になるというルールがありますが、
それができていません(将棋の経験があるにもかかわらず完全に忘れていました。)ので
これについては、機能追加する予定です。
最後に
いかがでしたでしょうか?
ぜひ、Excel で将棋をやってみて将棋のおもしろさというか Excel ってなんでもできるなあと実感していただければと思います。
また似たようなやつで 「Excel でオセロをつくってみた」もありますので、そちらも暇ならぜひご参照ください。