“Flip It”というパズルをJAVAで遊べるようにしてみました。このパズルは、パズル通信ニコリという雑誌のVol.94(2001年春号)で、考案者の芦ヶ原伸之さんが紹介されていたものです。また、はるひこどんの趣味の世界というページには、Visual Basic によるソフトウェア(Windows用)があります。
別ページに問題を用意しました。現在20問ありますのでお楽しみください。初めての方は以下の説明をまずお読み下さい。
研究用に、駒を自由に配置してプレイできる Flip It ボードを用意しました。ご利用下さい。
最初は、グレーの駒が4×4の盤面に配置されています。問題によって位置は違います。実はこのグレーの色は駒の裏面です。表面は赤です。
駒は、縦横斜めに隣接した駒を飛び越すことによって移動します。飛び越された駒は、表ならば裏、裏ならば表にひっくり返されます。飛び越す駒の数は1つではなく2つでもOKです。
駒を全部表に向けることが目的です。駒の位置は、最後はどこにあってもかまいません。
Flip Itのアプレットの操作方法
問題のページを開くと、4×4のボード(ゲーム盤)の上にグレーの駒(●)が置かれています。これを、全部表(●)にします。
移動の例 ⇒ ⇒ 初期状態 駒を選択 移動 駒をマウスでクリックすると、黄色い選択マークが出ます。同時に、その選ばれた駒の移動可能先が○十字で表示されます。移動可能先をクリックすると、そこへ移動して、飛び越された駒がひっくり返ります。移動した後も駒は選択されていますので、次の移動先が表示されています。別な駒を動かしたい場合は、動かしたい駒をクリックします。これを繰り返して、全部の駒が赤くなれば成功です。
ほとんどの問題は、全部を赤くする方法は手数の少ないやり方から多いやり方までたくさんあります。JAVAアプレットの下に、[Restart]というボタンと、移動回数の表示があります。ボタンを押すと最初からやり直しができます。移動回数の数字は2種類表示されています。カッコ内の数字は1度ジャンプして移動するごとに1つずつ増えます。最初の数字は、同じ駒が連続して移動している間は1手と数えます。手数が少ないほど、解として優秀です。
このパズルでは、1度ジャンプした場所に戻ることができますが、このアプレットでは元の場所に戻っても移動回数は2回と数えてしまいます。1手戻す等の機能はありませんので、やり直す場合は[Restart]ボタンをご利用ください。