ひまわりユーザー プログラム掲示板 バックアップ
注意
ひまわりのススメ  □ ひまわり本家Home  □ 新着記事  □ 新規投稿  □ SEARCH  □ 参考プログラム集
ツリー表示

MESSAGE 倉庫番 /SaRaSa (02/03/28(Thu) 22:49) [676]
......MESSAGE Re[1]: 倉庫番 /Runaway (02/04/03(Wed) 21:10) [710]
............MESSAGE Re[2]: 倉庫番 /moka (02/04/03(Wed) 23:33) [711]
..................MESSAGE Re[3]: 倉庫番 /SaRaSa (02/04/07(Sun) 17:27) [725]


親記事 / ▼[ 710 ]
NO.676  倉庫番
□投稿者/ SaRaSa -(2002/03/28(Thu) 22:49:49)
□U R L/
{---プログラム掲示板投稿フォーム---
【ソフト名】倉庫番
【作 成 者】SaRaSa
【種  別】フリーソフトウェア
【ひまわりのバージョン】ver.1.34
【転  件】可
【改変運用】可
【ひまわり本体への梱包】可
【実列時に利用作成するファイル】無
【コメント】
 パズルゲーム「倉庫番」を作ってみました。
 人間「♀」を十字キーで操作して、壁「■」に注意しつつ、荷物「□」を
 押して、決められた場所「・」に置いてください。
---投稿フォームここまで---}

配置=「3,3,3,3,3,3,3,3,3
3,2,1,1,3,1,1,2,3
3,1,2,4,3,4,2,1,3
3,1,1,1,4,1,1,1,3
3,3,1,4,3,4,0,3,3
3,1,1,1,4,1,1,1,3
3,1,2,4,3,4,2,1,3
3,2,1,1,3,1,1,2,3
3,3,3,3,3,3,3,3,3」

駒#0=「♀」
駒#1=「 」
駒#2=「・」
駒#3=「■」
駒#4=「□」
駒幅=20

配置の、要素数。
縦駒数=それ。
配置の中で、「
」が、何文字目。
横駒数=それ/2。

母艦の、タイトルを、「倉庫番」に、設定。
その、幅を、(駒幅*横駒数)に、設定。
その、高さを、(駒幅*縦駒数)に、設定。
その、リサイズは、オフ。
母艦を、中央へ移動。
母艦浮上。

文字サイズ=16。文字色=黒色。文字書体=MS ゴシック。
塗り色=白色。ペン色=白色。ペン太さ=0。

仮配置=配置
答=1
縦を、0から、(縦駒数-1)まで、繰り返す(
   横を、0から、(横駒数-1)まで、繰り返す(
      (駒幅*横,駒幅*縦)へ、移動。
      (駒#(配置#横#縦))を、表示。
      (配置#横#縦)で、条件分岐。
      0の時(仮配置#横#縦=1。行=縦。列=横。)。
      2の時(答行#答=縦。答列#答=横。答=答+1。)。
      4の時(仮配置#横#縦=1。)。
   )。
)。
母艦の、キー押した時を、配置替に、設定。

*配置替
十字左=37
十字上=38
十字右=39
十字下=40
押されたキーで、条件分岐。
十字左の時(
   (配置#(列-1)#行)で、条件分岐。
   2以下の時(
      配置#(列-1)#行=配置#列#行
      配置#列#行=仮配置#列#行
      縦=行
      横を、(列-1)から、(列)まで、繰り返す(再描画を、呼ぶ。)。
      列=列-1
   )。
   4以上の時(
      (配置#(列-2)#行)で、条件分岐。
      2以下の時(
         配置#(列-2)#行=配置#(列-1)#行
         配置#(列-1)#行=配置#列#行
         配置#列#行=仮配置#列#行
         縦=行
         横を、(列-2)から、(列)まで、繰り返す(再描画を、呼ぶ。)。
         列=列-1
      )。
   )。
)。
十字上の時(
   (配置#列#(行-1))で、条件分岐。
   2以下の時(
      配置#列#(行-1)=配置#列#行
      配置#列#行=仮配置#列#行
      横=列
      縦を、(行-1)から、(行)まで、繰り返す(再描画を、呼ぶ。)。
      行=行-1
   )。
   4以上の時(
      (配置#列#(行-2))で、条件分岐。
      2以下の時(
         配置#列#(行-2)=配置#列#(行-1)
         配置#列#(行-1)=配置#列#行
         配置#列#行=仮配置#列#行
         横=列
         縦を、(行-2)から、(行)まで、繰り返す(再描画を、呼ぶ。)。
         行=行-1
      )。
   )。
)。
十字右の時(
   (配置#(列+1)#行)で、条件分岐。
   2以下の時(
      配置#(列+1)#行=配置#列#行
      配置#列#行=仮配置#列#行
      縦=行
      横を、(列)から、(列+1)まで、繰り返す(再描画を、呼ぶ。)。
      列=列+1
   )。
   4以上の時(
      (配置#(列+2)#行)で、条件分岐。
      2以下の時(
         配置#(列+2)#行=配置#(列+1)#行
         配置#(列+1)#行=配置#列#行
         配置#列#行=仮配置#列#行
         縦=行
         横を、(列)から、(列+2)まで、繰り返す(再描画を、呼ぶ。)。
         列=列+1
      )。
   )。
)。
十字下の時(
   (配置#列#(行+1))で、条件分岐。
   2以下の時(
      配置#列#(行+1)=配置#列#行
      配置#列#行=仮配置#列#行
      横=列
      縦を、(行)から、(行+1)まで、繰り返す(再描画を、呼ぶ。)。
      行=行+1
   )。
   4以上の時(
      (配置#列#(行+2))で、条件分岐。
      2以下の時(
         配置#列#(行+2)=配置#列#(行+1)
         配置#列#(行+1)=配置#列#行
         配置#列#行=仮配置#列#行
         横=列
         縦を、(行)から、(行+2)まで、繰り返す(再描画を、呼ぶ。)。
         行=行+1
      )。
   )。
)。
解=1
答回(
   仮答列=答列#回数
   仮答行=答行#回数
   もし、配置#(仮答列)#(仮答行)=4、ならば(解=解+1。)。
)。
もし、解=答、ならば(「仕事終了!」と、言う。終わり。)。
待機。

*再描画
(駒幅*横,駒幅*縦)から、(駒幅*(横+1),駒幅*(縦+1))へ、四角形。
(駒幅*横,駒幅*縦)へ、移動。
(駒#(配置#横#縦))を、表示。
戻る。



▲[ 676 ] / ▼[ 711 ]
NO.710  Re[1]: 倉庫番
□投稿者/ Runaway -(2002/04/03(Wed) 21:10:48)
□U R L/
SaRaSaさん、こんばんは。
最初見たときは、すぐ解けるかと思ったのですが、□が一個足りない状態に・・・。
昨夜ようやく解けました。彼(?)に「お疲れ様でした」と、思わず呟いたりして。

見たところ、配置データを換えるだけで新マップができそうですし、ネタさえ続けば何マップもできそうですね。



▲[ 710 ] / ▼[ 725 ]
NO.711  Re[2]: 倉庫番
□投稿者/ moka -(2002/04/03(Wed) 23:33:48)
□U R L/ http://www.geocities.jp/moka21/teatime/
う〜…、解けない。(T_T;)
正解披露プログラムって作ってもらえませんかね?(笑)
簡単なアップや変なマップがあればもっと楽しめそうですね。



▲[ 711 ] / 返信無し
NO.725  Re[3]: 倉庫番
□投稿者/ SaRaSa -(2002/04/07(Sun) 17:27:29)
□U R L/
大変遅くなりましたが、Runawayさん、mokaさん、レスを

ありがとうございます。

 

Runawayさんのご指摘の通り、配置データを書き換えれば

新マップで遊ぶことができます。

現在は時間がなくて、1マップ固定になっています。

 

mokaさんには、もう解かれてしまいましたでしょうか?

ともあれ、とりあえず正解を書いておきますね。

(正解披露プログラムは、のちのち暇を見て……)。

 

●解答例

 

■■■■■■■■■

■・  ■  ・■

■ ・□■□・ ■

■   □   ■

■■ □■□♀■■

■   □   ■

■ ・□■□・ ■

■・  ■  ・■

■■■■■■■■■

 

■■■■■■■■■

■・  ■  ・■

■ ・□■□・ ■

■ □♀    ■

■■ □■□ ■■

■   □   ■

■ ・□■□・ ■

■・  ■  ・■

■■■■■■■■■

 

■■■■■■■■■

■・  ■  ・■

■ ・□■□・ ■

■ □     ■

■■ □■□ ■■

■ □♀    ■

■ ・□■□・ ■

■・  ■  ・■

■■■■■■■■■

 

■■■■■■■■■

■・  ■  ・■

■ ・□■□・ ■

■ □□    ■

■■ ♀■□ ■■

■ □     ■

■ ・□■□・ ■

■・  ■  ・■

■■■■■■■■■

 

■■■■■■■■■

■・  ■  ・■

■ □□■□・ ■

■ ♀□    ■

■■  ■□ ■■

■ □     ■

■ ・□■□・ ■

■・  ■  ・■

■■■■■■■■■

 

■■■■■■■■■

■・  ■  ・■

■ □□■□・ ■

■    ♀□ ■

■■  ■□ ■■

■ □     ■

■ ・□■□・ ■

■・  ■  ・■

■■■■■■■■■

 

■■■■■■■■■

■・  ■  ・■

■ □□■□・ ■

■     □ ■

■■  ■♀ ■■

■ □  □  ■

■ ・□■□・ ■

■・  ■  ・■

■■■■■■■■■

 

■■■■■■■■■

■・  ■  ・■

■ □□■□・ ■

■     □ ■

■■  ■  ■■

■ ♀  □  ■

■ □□■□・ ■

■・  ■  ・■

■■■■■■■■■

 

■■■■■■■■■

■・  ■  ・■

■ □□■□・ ■

■     □ ■

■■  ■  ■■

■    ♀□ ■

■ □□■□・ ■

■・  ■  ・■

■■■■■■■■■

 

■■■■■■■■■

■・  ■  ・■

■ □□■□・ ■

■     □ ■

■■  ■  ■■

■     ♀ ■

■ □□■□□ ■

■・  ■  ・■

■■■■■■■■■

 

■■■■■■■■■

■・  ■  ・■

■ □□■□□ ■

■     ♀ ■

■■  ■  ■■

■       ■

■ □□■□□ ■

■・  ■  ・■

■■■■■■■■■

 

ここからは同じパターンの繰り返しになります。

 

■■■■■■■■■

■・  ■  ・■

■ □□■♀□ ■

■    □  ■

■■  ■  ■■

■       ■

■ □□■□□ ■

■・  ■  ・■

■■■■■■■■■

 

■■■■■■■■■

■・  ■  ・■

■ □□■ ♀□■

■    □  ■

■■  ■  ■■

■       ■

■ □□■□□ ■

■・  ■  ・■

■■■■■■■■■

 

■■■■■■■■■

■・  ■  ・■

■ □□■ ・□■

■    ♀□ ■

■■  ■  ■■

■       ■

■ □□■□□ ■

■・  ■  ・■

■■■■■■■■■

 

■■■■■■■■■

■・  ■  ・■

■ □□■ □□■

■     ♀ ■

■■  ■  ■■

■       ■

■ □□■□□ ■

■・  ■  ・■

■■■■■■■■■

 

■■■■■■■■■

■・  ■  □■

■ □□■ □♀■

■       ■

■■  ■  ■■

■       ■

■ □□■□□ ■

■・  ■  ・■

■■■■■■■■■



- Child Tree -