うえぽんSW局

古いタイプの日記ブログです。気まぐれに更新してます。

タグ:倉庫番

 倉庫番の問題を作ってみました。次回があるか分かりませんが、(1)ってことにしておきます。

倉庫番自作


   ######
  ## @  #
 ##  *  ##
##  * *  ##
#  * * *  #
# #$#$#$# #
#  . . .  #
###########


 ついでにどのように問題を作ったかも書いときます。

 まず用意したのは使い慣れたテキストエディタと、takakenさんの倉庫番自動解答プログラムです。
 で、あとは適当に問題を作って自動解答プログラムにひたすら解かせるだけ。
 解けない問題だとすぐにギブアップしてくれるので、トライ&エラーで倉庫をどんどん増設。適当なところで完成させます。

 昔なら自分で解いたり他人にやらせたりして調整したでしょうが、人間は疲れたり文句を垂れたりします。でも、自動解答プログラムはロボットなのでそんなことはありません。どんどん扱き使いましょう。
このエントリーをはてなブックマークに追加

 2年半ぶりに倉庫番(SG-1000版)の攻略。

 先日、攻略サイトの掲示板にて、「SG-People」のsegabitさんから、セガマイカード版の裏技を教えていただきました。倉庫番に裏技なんてあったんですね。
 以下SG-People:裏技さ行より引用です。

●隠れ面
 以下のいずれかの方法で、隠れ面をプレイ出来る。隠
 れ面は全部で5つある。
 A.Pの値(荷物を押して移動した歩数)の下2桁を
  「00」に合わせて面クリアする。
 B.面セレクト時に、まず「3」に合わせ、次に減ら
  していって「15」に合わせ、次に増やしていって
  「30」に合わせ、最後に、減らしていって「1」
  に合わせてスタートする。


 「セガ・オールドマシン博物館」さんにも同様の裏技が紹介されているようです。倉庫番より引用。

歩数Pの下2桁が00の時、隠れ面にワープする。
隠れ面は全部で5面。それぞれ、NAO、KYOKO、
AYA、ASAMI、EMIと女の子の名前がついている。


 さて、この裏技を見ていて気付いたのだが、倉庫番には「荷物を押した回数」に奇数と偶数の法則があるようだ。
 大した法則ではないが、荷物を押した回数が奇数でクリアできる面はどんなプレイの仕方でも必ず奇数になり、同様に偶数も偶数にしかならないというもの。
 よく考えれば当り前のことなんだが、最短経路から寄り道でX回押したとしても、折り返しでX回戻さなければならから、最終的な荷物を押した歩数は(最短経路+2X)となる。つまり、偶数はどんな数字に足しても足された数字の偶数奇数はかわらないので、その面の偶数奇数も変わらない、と。

 で、この法則により、裏技の「下2桁が00でクリア」というのが実行できない面が存在するということだ。まあ、隠れ面を出す方法は他にもあるけどね。


◆自動解答プログラムがバージョンアップ
 倉庫番自動解答プログラムのバージョンがVer7.2にアップされたようだ。
 倉庫番を解く for Windows
 以前よりも賢くなって、解答できる問題数が増えている。すごい!
 でも、SG-1000版の60面と68面は解答できないようだ。実は攻略ページを作成してから2年半近く経つが未だにクリアできずに困ってたりする……。[追記]解けました!


【攻略ページ】
 倉庫番(セガマイカードSG-1000対応版)攻略メモ
このエントリーをはてなブックマークに追加

 なんとか100面中98面まで攻略した。でも、下の二つの解法がいまだ不明。脳味噌がだいぶ煮詰まってしまった。

●60面
倉庫番60面

●68面
倉庫番68面

 煮詰まってしまった時は、しばらく放置しておくのが一番。一週間インターバルを置いたら解けた、なんてことは多い。
 という訳で、答えが出るのは来月もしくは来年になると思う。

[追記:2008/03/20]
 3年後にクリアできました。攻略ページの方に解答集をzipでアップしてあります。

【攻略ページ】
 倉庫番(セガマイカード版)攻略メモ
このエントリーをはてなブックマークに追加

 倉庫番の攻略ページもちゃんと更新しているのだが、解けなくて困っている面もいくつかある。

 SG-1000倉庫番87面

 例えば上の面(ROUND 087)は、小さい倉庫だから自動解答ソフトで瞬時に解けそうだが、やたらと時間が掛かってタイムオーバーしてしまった。しかたがないから自分で解いている。
 覚えやすい面だけに、頭の中で延々とプレイするはめに。

[翌日追記]
 なんとか解けました! そのうち攻略ページに解答をアップします。
このエントリーをはてなブックマークに追加

 マイカード版(SG-1000版)のデータの打ち込みがやっと終わった。
 まだ間違いがあるかもしれないので、こっそりアップしておきます。
 自分が作成した攻略ページからダウンロードできます。

 以前のエントリー(SG-1000版の倉庫番をWindowsに移植)で紹介したフリーソフトとスキンと組み合わせれば完璧。
このエントリーをはてなブックマークに追加

 倉庫番スキンイメージ

 sokoban++のスキンで移植してみた。
 と言ってもSG-1000版(正確にはセガマイカード版)風のスキンを作ってみただけです。
 
 おそらく倉庫番のフリーソフトで一番使いやすいのはsokoban++だと思う。
 見た目はスキンで好きなものが使えるし、何よりほとんどの問題ファイル形式に対応している(どのフォーマットも似たようなものだが)。

 と言うわけで、このsokoban++用のスキンは下記ページにあります。
 攻略ページのダウンロードリンクがある項目
 「ダウンロード(6,941byte)」の部分をクリックするとダウンロードできるはず。

 現在攻略用にマップデータを打ち込んでいるが、なんだか移植作業をやっているみたいだ。
このエントリーをはてなブックマークに追加

 倉庫番in上九一色村

 Googleサジェストで「倉庫番」を入力したら、「倉庫番in上九一色村」という懐かしいタイトルをサジェストされた。

 検索してみると、不謹慎ゲーム倉庫というページがトップにくるので、そこからダウンロードすることができる。

 DOS用ソフトではあるが、テキストベースのゲームなので、WindowsのDOSプロンプトやコマンドプロンプトで動くかもしれない(将来的にWindowsでも動くかは分からない)。
 ただし、このソフトは負けると各ドライブのディスクを破壊する(それをポアすると表現している)ので充分注意! ギブアップするときは強制終了すること。

 もう10年前のゲームだが、たしかその時楽しくプレイしてしまった記憶がある。
 ただし、上の画像の面で荷物の数とゴールの数が合わない。おかげでクリアすることができなかったりする。つまり、否が応でももハードディスクを破壊してしまうわけだ。
 対応方法として、問題データファイルを下の画像のように修正すれば何とかなる。

 倉庫番(SG-1000)012面

 ちなみに、実行ファイルをバイナリエディタか何か覗くとLSIC-86の試食版(無料のCコンパイラ)で作られていることが分かる。
 それならば自分でも真似できるんじゃないか?と同じようなプログラムを作った思い出がある。

【攻略ページ】
 倉庫番(セガマイカードSG-1000対応版)攻略メモ
このエントリーをはてなブックマークに追加

 囲碁や将棋の世界では、上手い人の棋譜を並べているだけで上達するというが、倉庫番においても同じ事が言えるかもしれない。

 前回のエントリーで紹介した倉庫番自動解答ソフトを色々と試してみたが、これは人間が自力で解くための勉強にもなるようだ。
 定石やらパターンやらが見えてきたおかげで、今更になって倉庫番を実に面白く感じている。

 自動解答ソフト(Ver7.0)で不可解なのが、71面において画像左の状態だと解答に失敗するが、右の状態にすると解答してくれる。この辺どうなっているのか分からない。バグかなんかなんだろうか。

 SG-1000倉庫番071面

 さて、Yoshio's HomePageというのを発見した。
 倉庫番関連の卒業論文を書いた上でのメモや色々がブログで公開されている。定石の参考になると思う。

 予定している攻略ページの方は、今月末までぐらいには完成させるつもりだ。7割方コンピュータに解答させるわけだが…。

【攻略ページ】
 倉庫番(セガマイカードSG-1000対応版)攻略メモ
このエントリーをはてなブックマークに追加

 自力で攻略できそうに無いので、他力本願に攻略。

 まず人間向けの攻略は以下のサイトが参考になる。
 http://www.bekkoame.ne.jp/~okiyasu/souko/index.htm
 http://www.enjoy.ne.jp/~monry/soko/tec.htm

 そして、なんと! 下のサイトでは自動解析(解答)プログラムが公開されている。アルゴリズムの解説もあるので、人間が解くための参考にもなると思う。
 http://www.ic-net.or.jp/home/takaken/

 SG-1000版の倉庫番を自動解析できるように、そのうちデータを自分の攻略サイトの方にアップしようと思う。いつになるか分からないが…。

 ただ残念なことに、この自動解析プログラムの精度はまだまだ発展途上のようで、解答率は70%ぐらいのようだ。苦手とする面構成は、既に荷物が格納されていて一度崩すものらしい。
 例えば、下の画像の面は解析できない。

SG-1000倉庫番088面

 一応、これは自力で解くことができた。
 解法を説明すると、リンゴの皮を螺旋状に剥くようにグルグルと荷物を外側に一個ずつ移動。最後中心まで来たら、一番上の荷物を中心に移動させる。後は逆周りに荷物を戻すだけ。
 注意しておくと、左と右と下の軸になる荷物は、外側に動かすと元に戻せないから動かす必要はない。

【攻略ページ】
 倉庫番(セガマイカードSG-1000対応版)攻略メモ
このエントリーをはてなブックマークに追加

 倉庫番イメージ

 セガ全機種対応の倉庫番を紹介。
 全機種対応と言っているが当時のセガハードの全機種という意味。SG-1000、マーク3、マスターシステムに対応している。SG-1000対応ソフトと言った方が分かりやすいかもしれない。(メガドライブにメガアダプターを付けたら動作するかと思ったが、メガアダプターはSG-1000対応ソフトには完全対応していないらしい)

 さて、このの倉庫番は全部で100ステージある。遊び方やルールは今も昔も変わらないので説明する必要はないだろう。

 当時画期的だったのは、マップエディットで作ったデータをカセットテープに保存できたこと。
 あいにくテープレコーダは持っていなかったので実際どうだったのか知らないが、このコンセプトが巡り巡ってセガサターンのフロッピーディスクドライブになったのかもしれない。

 当時のお約束として、取扱説明書にはアソビン教授のアドバイスが書かれている。内容は次の通り。(「SG-People」さんからの引用です)

「荷物は、1個ずつしか運べない」
「引っぱれず、押すしかない」
この2つをよーく頭に入れておくこと。
追いかけてくる敵などいないのだから、あわてない、あわてない。


100の倉庫を全部片づけるには、何日、何ヵ月かかるかな?
じっくり腰を落ち着けて働こうね。


 小学生の自分は馬鹿だったので、何日、何ヵ月とかけても全制覇することはできなかった。そうしてついに「じっくり腰を落ち着けて働こうね」って年になりましたと。

 そのうち、倉庫番の攻略法について考察してみようと思う。

【攻略ページ】
 倉庫番(セガマイカードSG-1000対応版)攻略メモ
このエントリーをはてなブックマークに追加

↑このページのトップヘ