1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
| buffer 3
picload "map.bmp"
screen 0,260,230
cls 4
X=0:Y=0
O=0 B=0 G=3 J=0:muki=0
*メイン
repeat
repeat 3
redraw 2
gosub *ジャンプ
gosub *描画
stick K,5:if K!0:gosub *操作
if K=0:walk=0
await 1
redraw 1
loop
loop
*ジャンプ
if J=1:B+=G:Y+=B:if B>0:J=2:B=0
if J=2:B+=G:Y+=B
if J=2:LOOF=B
return
*操作
if K&16:if J=0:J=1
if K&1:X-=5:muki=1:walk=1 if K&4:X+=5:muki=0:walk=1 return
*描画
color 0,0,0:boxf
gosub *MAPスクロール
if X>235:X=235
if X<0:X=0
if Y>200:Y=205:J=0:B=-19
if Y<-20:Y=-20
gosub *床当たり判定
pos X,Y:gmode 2
gosub *まる
SHOT=0
return
*床当たり判定
if (J=0)&(muki=1):pget X+15,Y+15
if (J=0)&(muki=0):pget X,Y+15
if Y!205:if (J=0)&(rval=0):J=2:B=0
repeat LOOF
CN=cnt
repeat 24,1
if J=2:pget X+cnt,Y+15+CN
if rval!0:break
loop
if rval!0:break
loop
if (J=2)&(rval=200):J=0:B=-19:Y+=CN
return
*MAPスクロール
if O=0:if (muki=0)&(X>120):O=1
if O=2:if (muki=1)&(X<120):O=1
if O=1:X=120:if K&4:Mx+=5:else:if K&1:Mx-=5
if Mx>520:Mx=520:O=2
if Mx<0:Mx=0:O=0
gmode 1
pos 0,0:gcopy 3,Mx,0,270,230
return
*まる
if (walk=0)and(J=0):color 255,255,255:mes "○" if (walk=1)and(J=0):color 255,255,255:mes "○" if (J!0):color 255,255,255:mes "○" return
|