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

2023/03/11 18:19:25

MixJuice GET URL : kidspod.club/mj/2188

ある男の話(美術品を盗め編)

■説明
あなたは凄腕の泥棒です。
警戒厳重な美術館に忍び込むことに成功しました。
出来るだけたくさんの美術品を盗んで脱出してください。
美術品は最大で8個です。
全て盗まなくても脱出できますが、出来れば全て盗みましょう!
盗んだ美術品は自分の跡をつけてくるようになります。
盗んだ美術品が見つかってもいけません。

■操作
移動:←→↑↓

■2023/3/13追記
ついてくる宝のほうに移動できますが、30行を
30 @A:LCX,Y:?" ":K=INKEY():V=(K=29)-(K=28):W=(K=31)-(K=30):D=SCR(X+V,Y+W):M=M+1-(M=4)*5:IFV||WIFD!=6&&D!=CIFD=BGOTO@EELSECOPY#823,#81F,-32:[0]=X:[1]=Y:X=X+V:Y=Y+W:IFD>234&&D<243S=S+1

に書き換えると移動できなくなります。
(IFD!=6のところをIFD!=6&&D!=Cにしている)
移動できない方が面白いかな?

■変数
A 自分キャラコード
B 警備キャラコード
C 宝箱のキャラコード
D WORK
E WORK
F WORK
G WORK
H WORK
I FOR
J FOR
K INKEY
M 敵のナンバー(0~4)
S 入手した宝の数
V 自分X変位
W 自分Y変位
X 自分X
Y 自分Y
[0]-[17] ついてくる荷物の座標
[18]-[24] 画面作成用パラメータ
[25]-[32] 宝の座標X
[33]-[40] 宝の座標Y
[41]-[45] 敵1~5 X
[46]-[50] 敵1~5 Y
[51]-[55] 敵1~5 DX
[56]-[60] 敵1~5 DY
[61]-[65] 敵1~5と宝の重ね合わせ処理用

■プログラム
10-20 初期値設定、画面作成
30 自分の移動、美術品を取ったらSに+1、ついてくる美術品の位置移動処理
40 美術品の移動描写
50 警備員の移動処理
60 当たり判定
70 クリア処理
80 30へ
90 ゲームオーバー処理

■2023/3/17追記
文字化けするとのことで修正しました。
濁音とか半音が文字化けするんですかね。
「ド」は文字化けするのは分かっていたんですが、他にもあるんですね。
また、最近のichigojamでは早すぎるんですかね。
WAITも入れていただきました。
ちなみに動作テストはWEB版のichigojamでしか行っていないので、実機ではスピードが速すぎるかもしれません。。。
ほっちゃんさん、修正ありがとうございました。

  • 1
  • 1

SOURCE CODE

10 CLS:CLV:VIDEO3:X=1:Y=1:A=228:B=249:C=246:LET[19],6,8,14,3,7,11,9,13,1,5,9,13,1,5,2,2,4,4,6,6,8,8,10,4,12,3,13,1,3,7,9,9,1,1,-1,-1,-1
20 FORI=0TO5:FORJ=0TO14:LCJ,I*2:?CHR$(6):NEXT:NEXT:FORI=1TO9:FORJ=0TO6:LC[J+18],I+(J=1)-(J=2):?CHR$(6*(J<4)):NEXT:NEXT:FORI=25TO32:LC[I],[I+8]:?CHR$(223+I/2):NEXT:LC158:?CHR$(248)
30 @A:LCX,Y:?" ":K=INKEY():V=(K=29)-(K=28):W=(K=31)-(K=30):D=SCR(X+V,Y+W):M=M+1-(M=4)*5:IFV||WIFD!=6IFD=BGOTO@EELSECOPY#823,#81F,-32:[0]=X:[1]=Y:X=X+V:Y=Y+W:IFD>234&&D<243S=S+1
40 IFSLC[S*2],[S*2+1]:?" ":LC[0],[1]:?CHR$(C)
50 E=[M+41]:F=[M+46]:G=[M+51]:H=[M+56]:LCE,F:?CHR$([M+61]):D=SCR(E+G,F+H):IFD=6||D=248[M+51]=H:[M+56]=-GELSE[M+41]=E+G:[M+46]=F+H:[M+61]=D
60 LCX,Y:?CHR$(A):LC[M+41],[M+46]:E=SCR():?CHR$(B):IFE=A||E=CGOTO@E
70 IFX=14FORI=7TO0STEP-1:LC[I*2],[I*2+1]:?" ":WAIT5:NEXT:LC176:?"タ゛ッシュツ! オタカラ=";S;"/8":END
80 IFVER()>14999WAIT3
90 GOTO@A
100 @E:LCX+V,Y+W:?CHR$(244):LC0,11:?"ミツカッタ

COMMENT