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

2018/02/24 20:25:06

MixJuice GET URL : kidspod.club/mj/467

ヘリの宅配便(3本目)

プログラムは3本に分かれています。
このプログラムは3本目です。
1本目はこちら:http://kidspod.club/program/default.html?id=465
2本目はこちら:http://kidspod.club/program/default.html?id=466


面を自作してみたい方へ
面のデータは圧縮して格納されています。
2本目のプログラムの101行~115行が各面のデータです。
ヘリのスタート位置は固定です。
圧縮方法を細かく説明すると大変なのです。
面を作成していたときのExcelのスクリーンショットを残しますので興味のある方はやってみてください。

  • 1
  • 1

SOURCE CODE

1 'ヘリタク3
10 @B:LCX,Y:?CHR$(E)
20 K=INKEY():IF!KCONT
30 IFK=77||K=109GOTO@I
40 IFK=82||K=114GOTO@J
50 V=(K=29)-(K=28):W=(K=31)-(K=30):IFW&&SCR(X,Y+W)GOTO@B
60 IFV&&(SCR(X+V,Y)=[1]||SCR(X+V,Y)=F)GOTO@B
70 IFV&&(SCR(X+V,Y)=[2]||SCR(X+V,Y)=[3])GOTO@C
80 @D:GSB@E:GOTO@B
90 @C:I=0:N=X+V-(V=-1):IFSCR(X+V*3,Y)GOTO@B
100 IF[A+I]>>4=N&&[A+I]&15=Y[A+I]=(N+V)<<4+Y:LCN+V,Y:?CHR$(SCR(N,Y),SCR(N,Y)):GSB@G:GOTO@BELSEI=I+1:CONT
110 GOTO@B
120 @G:GSB@E:LCX,Y:?CHR$(E)
130 @H:B=0:FORI=ATOA+M-1:N=[I]>>4:P=[I]&15:IF(SCR(N,P+1)=E||SCR(N+1,P+1)=E)&&(SCR(N,P+1)=0||SCR(N+1,P+1)=0)LCN,P+1:?CHR$(0,0):C=1
140 IF!SCR(N,P+1)&&!SCR(N+1,P+1)LCN,P+1:?CHR$(SCR(N,P),SCR(N,P)):LCN,P:?CHR$(0,0):[I]=[I]+1:B=1
150 NEXT:IFBGOTO@H
160 B=0:FORI=ATOA+M-1:N=[I]>>4:P=[I]&15:IFSCR(N,P)=[3]&&SCR(N,P+1)=F&&SCR(N+1,P+1)=FB=1
170 NEXT:IFCGOTO@Z
180 IFBG=G+1:LC0,11:?"CLEAR!!":GOTO@X
190 RTN
200 @Z:LC0,11:?"ヘリガツブレタ":GOTO@X
210 @E:LCX,Y:?CHR$(0):X=X+V:Y=Y+W:RTN
220 @I:LC0,11:INPUTG:LRUNFILE()-1
230 @J:LC0,11:?"RESTART"
240 @X:WAIT180:LRUNFILE()-1

COMMENT