福野泰介の一日一創 - create every day

除雪をモチーフにしたパズルゲーム「除雪番 / JOSETSUBAN」 for IchigoJam

2018/02/13
#IchigoJam #game #fukui 

大雪、一晩で30cm以上積もると除雪しないと車も動かせない。
雪は簡単に解けてなくなるわけではないので、どける場所が必要。
除雪は戦略が大事です。

除雪から着想得たパズルゲーム「除雪番 / JOSETSUBAN」。
大掃除をテーマにした「掃除番」に続くオリジナルパズル第二弾。


除雪番 on IchigoJam web

除雪番(JOSETSUBAN)のルール

1. ゴールにたどり着けばクリアです
2. 雪は1つだけ押すことができます
3. 動かす先に雪の積む余地があれば詰めます(最大4段)

除雪番 for IchigoJam 操作説明

上下左右キーで動きます
スペースキーでリトライします

' JOSETSUBAN 10 VIDEO3:S=1:LET[0],1,0,4,3,3,4,4,3,1,0,4,2,2,4,4,2,3,4,3,3 20 CLS:T=S*4-4:SRND[T]:FORI=1TO62:LC1+I%8,2+I/8:?CHR$([T+1+RND(3)]):NEXT:LC1,0:?"STAGE:";S;"-";[T] 30 X=1:Y=2:D=0:LC8,9:?CHR$(11) 40 LCX,Y:?CHR$(253-D*2) 50 IFBTN(32)GOTO20 60 A=BTN(29)*(X<8)-BTN(28)*(X>1):B=BTN(31)*(Y<9)-BTN(30)*(Y>2):D=D-BTN(28)*D+BTN(29)*!D 70 IF!A&&!B:GOTO50 80 IFX+A=8&&Y+B=9:LC2,11:?"GOAL!";:WAIT60:S=S+1:IFS=6ENDELSEGOTO20 90 N=SCR(X+A,Y+B):IF!N:GOTO120 100 LCX+A*2,Y+B*2:M=SCR():IFM=11GOTO40ELSEIF!MM=NELSEM=M+N-5:IFM<1GOTO40 110 ?CHR$(M) 120 LCX,Y:?CHR$(0):X=X+A:Y=Y+B:GOTO40

10行の配列がステージデータです。1ステージ配列の要素を4つ使い、最初がランダムの初期化値(SRND)、後3つがランダムにステージにおく雪種。
ちゃんとステージを考えてつくると、おもしろいパズルゲームとなるはず!

スペースを置く毎にステージを生成するには次のように改造してください

50 IFBTN(32):[T]=[T]+1:GOTO20

タイトル画面もつけたい場合は次の行を追加!

25 LC10,4:?"JOSE":LC10,5:?"TSUBAN"

除雪が落ち着いたら、雪で埋まった消火栓、掘り返しておきましょう。
高校生、宝探しのようでおもしろかったとのこと!
プログラミングには、不便を楽しみに変える力もあります。

links
- 倉庫番 - 1982年生まれの名作、押しモノゲーム!
- 掃除番 - 2015年大掃除をテーマに作成
- 平成30年2月大雪に関する情報 | 福井県ホームページ

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / アイコン画像 / プロフィール画像