Enjoy programming more!
Kidspod is a post site which supports young programmers.
First step to join us.
Register as a member
For members

2017/05/02 22:49:33

MixJuice GET URL : kidspod.club/mj/200

迷路脱出

ゴール(G)を目指して下さい

操作
矢印キーで動きます

・迷路は毎回自動的に作成されます
・迷路は自分の周りしか見えません


改造ヒント
1行目にあるE,F,Gは以下の意味を持っています
E 見えない壁のキャラクターコード
F 通路のキャラクターコード
G 見える壁のキャラクターコード
キャラクターコードの0と32がどちらも真っ黒で表示されることを利用して
通路を0、壁を32で書いています
Eを適当なものに変更すると迷路を作成する様子が見えます

迷路の作成は穴掘り法を使っています
1~10行目までが迷路作成
11~17行目までが脱出操作関連です

  • 1
  • 1

SOURCE CODE

1 CLV:CLS:E=32:F=0:G=1:FORI=0TO712:LCI%31,I/31:?CHR$(E):NEXT:LC2,0:?"%メイロサクセイチュウ":X=RND(15):Y=RND(11)
2 A=RND(4):GSB9:IFBORD=0GOTO2
3 LCT*2+1,U*2+1:?CHR$(F):LCT*2+1-V,U*2+1-W:?CHR$(F):Z=Z+1:LC0,0:?Z*100/165:IFZ=165GOTO11
4 X=T:Y=U:C=0:FORA=0TO3:GSB9:IFBC=C+1:GOTO6
5 IFD=0C=C+1
6 NEXT:IFC<>4GOTO2
7 T=RND(15):U=RND(11):IFSCR(T*2+1,U*2+1)GOTO7
8 GOTO4
9 B=0:V=(A<2)*(A*2-1):W=(A>1)*(A*2-5):T=X+V:U=Y+W:IFT<0ORT>14ORU<0ORU>10B=1
10 D=SCR(T*2+1,U*2+1):RTN
11 CLK:X=1:Y=1:LC29,21:?"G":FORI=0TO15:IFSCR(I%4,I/4)=ELCI%4,I/4:?CHR$(G)
12 NEXT:CLT
13 LCX,Y:?CHR$(249):IFX=29ANDY=21LC0,24:?"ゴール!!":?"クリアジカン:";TICK()/60;"ビョウ":?"クリアホスウ:";H;"ホ":END
14 K=INKEY():R=(K=29)-(K=28):S=(K=31)-(K=30):IFR+S=0GOTO14ELSEIFSCR(X+R,Y+S)<>FANDSCR(X+R,Y+S)<>71GOTO14
15 P=G:Q=E:H=H+1:FORI=0TO3:L=X-2+I:M=Y-2:GSB@I:L=X-1+I:M=Y+2:GSB@I:L=X-2:M=Y-1+I:GSB@I:L=X+2:M=Y-2+I:GSB@I:NEXT:P=E:Q=G:LCX,Y:?CHR$(F):X=X+R:Y=Y+S:FORI=0TO24:L=X+I%5-2:M=Y+I/5-2:GSB@I:NEXT:GOTO13
16 @I:IFL>-1IFL<31IFM>-1IFM<23IFSCR(L,M)=PLCL,M:?CHR$(Q)
17 RTN

COMMENT

Kidspod運営チーム
Kidspod運営チーム2017/05/26 18:05:32

これはまたすごい! 自動生成も見事ですし、自分の周りしか見えない、というアイデアも面白いです。