見出し画像

エクセルで作る15パズル

1.15パズルとは

 今回は、ExcelのVBAで作るゲームとして、「エクセルで作る15パズル」を連載で解説していきます。

 15パズルは、スライディングブロックパズル(Sliding puzzle)のひとつです。下図の様に、縦4、横4の16のマス目の上に、15個の駒があります。

 盤の方が1マス分多くなっているので、スペースが1つできています。

Excelの画面

 ここに、上下左右から駒を1度に1駒動かしていきます。最終的に、上図の様に、数字が順番に並べば完成です。

 ゲームを開始する前に、これら15個の駒をシャッフルして、バラバラの配置にします。

15パズルの例

 では、この盤面の数字の配置で「上下左右から駒を1度に1駒動かして、数字を順番に並べる」ことが出来るでしょうか?

それでは、実際に作成していきます。

2.盤面の作成


15puzzle

 縦と横が同じ長さにすると見栄えが良いので、幅と高さを揃えます。

 Excelでは、セルの高さと幅の長さは、単位が異なりますので、同じ数字を設定しても同じになりません。

 そこで、メニュータブの「表示」の中にある「ページレイアウト」を選択します。すると、セルの高さと幅の長さは、単位が「mm」の統一されます。ここでは、約20mmにしておきます。

 次に、セル「B2」から「E5」に枠線を設定し、他と区別するために背景色を黄色にします。また、文字もわかり易く28ポイントにしておきます。

 また、空きの場所と区別するために、黄色の背景のセルの周りのセルに「99」を入力しています。但し、画面で見える汚いので、文字色を白に設定しておきます。この「99」という数字は、プログラムで、盤面を把握するために利用します。 

ここから先は

5,061字
テトリス、オセロなどのゲームを解説を付けながら、ExcelのVBAで作成します。 VBAが初めての人にも、分かるように解説したつもりです。 また、すべてコード(ソースコード)を付けています。

Excel VBA用でこれまで作ったゲームをまとめたものです。 プログラムは初めての人でも、内容が理解できるように解説を付けています。 す…

よろしければサポートお願いします!