2012年4月26日投稿 / 投稿者 : いのっち / タグ : 投稿プログラム ゲーム アクションゲーム 初代対応 移植
むかし、マイコンBASICマガジンに掲載されたゲームを移植したものです。
一部元のゲームとは違うところがありますが、気にしないでください。
自分がどこまでいけるか挑戦してみてください。
プレイヤーを操作して、海の底に沈んでいる宝石を取っていくゲームです。
全部の宝石を採ると1レベルクリアーです。
敵に触れたり、命綱を切られたり、空気(AIR)が0になったら残りが一つ減り、全部なくなるとゲームオーバーです。
ちなみに、潜っていない時は、空気は回復していきます。
左、右ボタン:左右に移動。(地上に出ている間のみ。)
上ボタン:上昇。(潜っているときのみ。)
下ボタン:潜る。
スタートボタン:ゲームスタート、ポーズをかけたり解除するときに使う。
プチコンmkII 向けの QR コードです。
- @SET1 ′セッテイ1
- VSYNC 15:CLS:CLEAR:COLOR 5
- DIM HX(14),HF(14)
- HS=50
- @TITLE ′タイトル
- LOCATE 10,5:?”JEWELER SAM”
- LOCATE 10,7:?”HI-SCORE:”HS
- LOCATE 13,9:?”CAST”
- LOCATE 12,11:?”г: SAM”
- LOCATE 12,13:?”Е: ROBOT”
- LOCATE 12,15:?”б: JEWEL”
- LOCATE 7,19:?”PUSH START BUTTON!”
- LOCATE 7,22:?”(C) 2012/4/26 イノッチ”
- @TLOOP ′タイトル ル-フ゜
- B=BUTTON():IF B==1024 THEN LF=3:LV=1:TM=3:WT=0:GOTO @SET2
- GOTO @TLOOP
- @SET2 ′セッテイ2
- CLS:IF LF<1 GOTO @GOVER
- MX=10:MY=5:AIR=100:MFL=0:FL=0:DR=1
- HLF=14:EX(0)=15:EY(0)=5:EX(1)=15:EY(1)=RND(18)
- IF EY(1)<8 THEN EY(1)=EY(1)+8
- LOCATE 0,6:FOR I=0 TO 31:?”В”;:NEXT
- @PRHS ′ホウセキセッテイ&ヒョウシ゛
- FOR I=0 TO 13
- HX(I)=2+I*2:HF(I)=0
- LOCATE HX(I),22:?”б”;
- NEXT
- VSYNC 15
- @MLOOP ′メインル-フ゜
- LOCATE 24,0:? ”AIR:”AIR” ”
- LOCATE 0,0:?”SCORE:”SC
- LOCATE 11,0:?”г:”LF
- LOCATE 17,0:?”LV:”LV
- GOSUB @PLR
- GOSUB @GET
- WT=WT-TM:IF WT<0 THEN GOSUB @ENM1:GOSUB @ENM2:WT=10
- IF LV>10 THEN WT=0
- IF B AND 1024 THEN GOSUB @PAUSE
- IF HLF<1 GOTO @CLR
- GOSUB @MISS
- IF MFL==1 GOTO @SET2
- VSYNC 12:GOTO @MLOOP
- @PLR ′フ゜レイヤ-
- LOCATE MX,MY:?” ”;:B=BUTTON()
- IF B AND 0 RETURN
- IF B AND 2 THEN FL=1:IF MY==5 THEN MY=6
- IF B AND 1 THEN IF MY<8 THEN FL=0:MY=5
- IF FL==0 THEN MX=MX-(B AND 4)/4+(B AND 8)/8
- IF MX<1 THEN MX=0
- IF MX>30 THEN MX=31
- IF FL AND 1 THEN GOSUB @KOUKA
- IF MY>22 THEN MY=22
- AIR=AIR+(FL==0)-(FL==1):IF AIR>100 THEN AIR=100
- LOCATE MX,MY:?”г”;:RETURN
- @KOUKA ′コウカ
- IF FL AND 1 THEN MY=MY-(B AND 1)+(B AND 2)/2
- IF MY>7 THEN LOCATE MX,MY-1:?”¦”;
- RETURN
- @ENM1 ′テキ1
- LOCATE EX(0),EY(0):?” ”;
- EX(0)=EX(0)+DR
- FLG=(EX(0)<1) OR (EX(0)>30)
- IF FLG==1 THEN DR=-1*DR
- LOCATE EX(0),EY(0):?”Е”;
- RETURN
- @ENM2 ′テキ2
- LOCATE EX(1),EY(1):?” ”;
- DIR=RND(4)+1:EX(1)=EX(1)-(DIR<=2)+(DIR>=3)
- IF EX(1)<0 THEN EX(1)=1Л
- IF EX(1)>30 THEN EX(1)=29
- LOCATE EX(1),EY(1):?”Е”;
- RETURN
- @GET ′ホウセキ ヲ テニイレタ
- FOR I=0 TO 13
- IF HF(I)==0 AND HX(I)==MX AND MY==22 THEN HF(I)=1:SC=SC+1:HLF=HLF-1
- NEXT I:RETURN
- @MISS ′ミス
- IF MX==EX(0) AND MY==EY(0) GOTO @MISS2
- IF MX==EX(1) AND EY(1)<MY GOTO @MISS2
- IF AIR<1 THEN GOTO @MISS2
- RETURN
- @MISS2
- LF=LF-1:MFL=1:RETURN
- @CLR ′ステ-シ゛クリア-
- LOCATE 10,10:?”CLEAR!”:WAIT 180
- LV=LV+1:TM=LV+1:IF LV>9 THEN WT=0
- CLS:GOTO @SET2
- @PAUSE ′ホ゜-ス゛
- WAIT 15:LOCATE 14,2:?”PAUSE”
- @PLOOP ′ホ゜-ス゛ ル-フ゜
- B=BUTTON()
- IF B AND 1024 THEN LOCATE 14,2:?” ”:VSYNC 6:RETURN
- GOTO @PLOOP
- @GOVER ′ケ゛-ムオ-ハ゛-
- LOCATE 10,10:? ”GAME OVER”
- IF SC>HS THEN HS=SC
- VSYNC 120:CLS:GOTO @TITLE
この作品に対するコメントがあれば一言どうぞ。(作品に直接関係ない質問や雑談は掲示板へ)