プチコンmkII

  1. ’┌───────────┐
  2. ’│タ゛ンシ゛ョンタンケン│
  3. ’│  ver1.51  │
  4. ’└───────────┘
  5. ACLS:CLEAR
  6. VISIBLE 1,1,0,0,1,1
  7. COLOR 0
  8. BREPEAT 0,20,10
  9. BREPEAT 1,20,10
  10. BREPEAT 2,20,10
  11. BREPEAT 3,20,10
  12. ’---
  13. DIM MAP(16,16)
  14. DIM NMAP(4,3)
  15. DIM LF(24)
  16. DIM GX(9),GY(9)
  17. DIM ESPR(2),EPLT(2)
  18. ECHR=0:EHP=0:ESTR=0
  19. PHP=100:PSTR=10:PEQUIP=0:PLEVEL=1
  20. LEVEL=0
  21. DIM PITEM(3)
  22. PITEM(0)=1
  23. PITEM(1)=0
  24. PITEM(2)=0
  25. ’タ゛ンシ゛ョンノセンノサ゛ヒョウヲヨミコム
  26. RESTORE @GRID
  27. FOR I=1 TO 8
  28. READ GX(I),GY(I)
  29. NEXT
  30. @LEVSTART
  31. ’マッフ゜ヨミコミ
  32. ON LEVEL GOTO @LEV1,@LEV2,@LEV3
  33. @LEV1
  34. RESTORE @MAP1:GOTO @LEVREAD
  35. @LEV2
  36. RESTORE @MAP2:GOTO @LEVREAD
  37. @LEV3
  38. RESTORE @MAP3:GOTO @LEVREAD
  39. @LEVREAD
  40. READ BGMDUN,BGMBTL
  41. READ ESPR(0),EPLT(0),ESPR(1),EPLT(1)
  42. READ PX,PY,PDIR
  43. FOR Y=0 TO 15
  44. FOR X=0 TO 15
  45. READ MAP(Y,X)
  46. NEXT X
  47. NEXT Y
  48. ’メインル-チン
  49. BGMPLAY BGMDUN
  50. @LOOP
  51. GOSUB @PSTATUS
  52. ’シ゛フ゛ンノマワリノミニマッフ゜ヲツクル
  53. FOR Y=0 TO 3
  54. FOR X=0 TO 2
  55. NMAP(Y,X)=1
  56. NEXT X
  57. NEXT Y
  58. ON PDIR GOSUB @PRIGHT,@PDOWN,@PLEFT,@PUP
  59. ’ミニマッフ゜カラト゛ノセンヲカクカキメル
  60. GOSUB @CALCMAP
  61. GOSUB @DRAWITEM
  62. ’タ゛ンシ゛ョンノセンヲカク
  63. GCLS 0
  64. FOR I=1 TO 23
  65. DPARTS=I-1
  66. IF LF(I)!=0 THEN GOSUB @DRAW
  67. NEXT
  68. ’テキシュツケ゛ンチェック
  69. IF RND(30)==0 THEN GOSUB @BATTLE
  70. ’カイタ゛ントタカラハ゛コ
  71. IF MIGNORE==1 THEN @KEYWAIT
  72. IF NMAP(1,1)>2 THEN GOSUB @TBOX:GOTO @LOOP
  73. IF NMAP(1,1)!=2 THEN @KEYWAIT
  74. OLDLVL=LEVEL
  75. GOSUB @STAIR
  76. IF LEVEL!=OLDLVL THEN GOTO @LEVSTART
  77. ’キ-ニュウリョクカ゛アレハ゛イト゛ウ
  78. @KEYWAIT
  79. BTN=BTRIG()
  80. IF BTN==0 THEN WAIT 1:GOTO @KEYWAIT
  81. IF (BTN AND 1) THEN GOSUB @FORWARD
  82. IF (BTN AND 2) THEN GOSUB @BACK
  83. IF (BTN AND 4) THEN GOSUB @LEFT
  84. IF (BTN AND 8) THEN GOSUB @RIGHT
  85. VSYNC 1:GOTO @LOOP
  86. ’セ゛ンシン
  87. @FORWARD
  88. BEEP 9
  89. MIGNORE=0
  90. OLDX=PX:OLDY=PY
  91. IF PDIR==0 THEN PX=PX+1
  92. IF PDIR==1 THEN PY=PY+1
  93. IF PDIR==2 THEN PX=PX-1
  94. IF PDIR==3 THEN PY=PY-1
  95. IF (PX<0)OR(PX>=16)OR(PY<0)OR(PY>=16) THEN PX=OLDX:PY=OLDY
  96. IF MAP(PY,PX)!=0 THEN PX=OLDX:PY=OLDY
  97. RETURN
  98. ’ハ゛ックスル
  99. @BACK
  100. BEEP 9
  101. MIGNORE=0
  102. OLDX=PX:OLDY=PY
  103. IF PDIR==0 THEN PX=PX-1
  104. IF PDIR==1 THEN PY=PY-1
  105. IF PDIR==2 THEN PX=PX+1
  106. IF PDIR==3 THEN PY=PY+1
  107. IF (PX<0)OR(PX>=16)OR(PY<0)OR(PY>=16) THEN PX=OLDX:PY=OLDY
  108. IF MAP(PY,PX)!=0 THEN PX=OLDX:PY=OLDY
  109. RETURN
  110. ’ヒタ゛リヲムク
  111. @LEFT
  112. BEEP 9
  113. PDIR=PDIR-1
  114. IF PDIR<0 THEN PDIR=3
  115. RETURN
  116. ’ミキ゛ヲムク
  117. @RIGHT
  118. BEEP 9
  119. PDIR=PDIR+1
  120. IF PDIR>3 THEN PDIR=0
  121. RETURN
  122. ’ミキ゛ムキヨウミニマッフ゜サクセイ
  123. @PRIGHT
  124. FOR Y=0 TO 3
  125. FOR X=0 TO 2
  126. YY=PY+X-1:XX=PX+Y
  127. IF(XX<16)AND(YY>=0)AND(YY<16) THEN NMAP(Y,X)=MAP(YY,XX)
  128. NEXT X
  129. NEXT Y
  130. RETURN
  131. ’シタムキヨウミニマッフ゜サクセイ
  132. @PDOWN
  133. FOR Y=0 TO 3
  134. FOR X=0 TO 2
  135. YY=PY+Y:XX=PX-X+1
  136. IF (YY<16)AND(XX>=0)AND(XX<16) THEN NMAP(Y,X)=MAP(YY,XX)
  137. NEXT X
  138. NEXT Y
  139. RETURN
  140. ’ヒタ゛リムキヨウミニマッフ゜サクセイ
  141. @PLEFT
  142. FOR Y=0 TO 3
  143. FOR X=0 TO 2
  144. YY=PY-X+1:XX=PX-Y
  145. IF(XX>=0)AND(YY>=0)AND(YY<16) THEN NMAP(Y,X)=MAP(YY,XX)
  146. NEXT X
  147. NEXT Y
  148. RETURN
  149. ’ウエムキヨウミニマッフ゜サクセイ
  150. @PUP
  151. FOR Y=0 TO 3
  152. FOR X=0 TO 2
  153. YY=PY-Y:XX=PX+X-1
  154. IF(YY>=0)AND(XX>=0)AND(XX<16) THEN NMAP(Y,X)=MAP(YY,XX)
  155. NEXT X
  156. NEXT Y
  157. RETURN
  158. ’ミニマッフ゜カラト゛ノセンヲカクカキメル
  159. @CALCMAP
  160. FOR I=1 TO 23
  161. LF(I)=0
  162. NEXT
  163. IF NMAP(3,0)==1 THEN LF(7)=1:LF(20)=1
  164. IF NMAP(3,2)==1 THEN LF(14)=1:LF(23)=1
  165. IF NMAP(3,1)==1 THEN LF(17)=1:LF(20)=1:LF(23)=1
  166. IF NMAP(2,0)==1 THEN LF(3)=1:LF(5)=1:LF(6)=1:LF(19)=1:LF(20)=1:LF(7)=0
  167. IF NMAP(2,2)==1 THEN LF(10)=1:LF(12)=1:LF(13)=1:LF(22)=1:LF(23)=1:LF(14)=0
  168. IF NMAP(2,1)==1 THEN @CM21
  169. GOTO @CMN21
  170. @CM21
  171. LF(16)=1:LF(19)=1:LF(22)=1:LF(6)=0:LF(7)=0:LF(13)=0:LF(14)=0:LF(17)=0:LF(20)=0:LF(23)=0
  172. @CMN21
  173. IF NMAP(1,0)==1 THEN LF(2)=1:LF(4)=1:LF(18)=1:LF(19)=1:LF(3)=0:LF(5)=0
  174. IF NMAP(1,2)==1 THEN LF(9)=1:LF(11)=1:LF(21)=1:LF(22)=1:LF(10)=0:LF(12)=0
  175. IF NMAP(1,1)==1 THEN @CM11
  176. GOTO @CMN11
  177. @CM11
  178. LF(15)=1:LF(18)=1:LF(21)=1
  179. LF(4)=0:LF(5)=0:LF(6)=0:LF(7)=0:LF(11)=0:LF(12)=0:LF(13)=0:LF(14)=0:LF(16)=0:LF(17)=0:LF(19)=0
  180. LF(20)=0:LF(22)=0:LF(23)=0
  181. @CMN11
  182. IF NMAP(0,0)==1 THEN LF(1)=1:LF(18)=1:LF(2)=0:LF(3)=0
  183. IF NMAP(0,2)==1 THEN LF(8)=1:LF(21)=1:LF(9)=0:LF(10)=0
  184. RETURN
  185. ’タ゛ンシ゛ョンノセンヲカク
  186. @DRAW
  187. GCOLOR 15
  188. IF DPARTS<12 THEN ON DPARTS GOTO @D1,@D2,@D3,@D4,@D5,@D6,@D7,@D8,@D9,@D10,@D11,@D12
  189. DPARTS=DPARTS-12
  190. ON DPARTS GOTO @D13,@D14,@D15,@D16,@D17,@D18,@D19,@D20,@D21,@D22,@D23
  191. RETURN
  192. @D1
  193. LSX=0:LSY=0:LEX=1:LEY=1
  194. GOTO @LINE2
  195. @D2
  196. LSX=0:LSY=1:LEX=1:LEY=1
  197. GOTO @LINE2
  198. @D3
  199. LSX=0:LSY=2:LEX=1:LEY=2
  200. GOTO @LINE2
  201. @D4
  202. LSX=1:LSY=1:LEX=2:LEY=2
  203. GOTO @LINE2
  204. @D5
  205. LSX=1:LSY=2:LEX=2:LEY=2
  206. GOTO @LINE2
  207. @D6
  208. LSX=2:LSY=2:LEX=3:LEY=3
  209. GOTO @LINE2
  210. @D7
  211. LSX=2:LSY=3:LEX=3:LEY=3
  212. GOTO @LINE2
  213. @D8
  214. LSX=7:LSY=0:LEX=6:LEY=1
  215. GOTO @LINE2
  216. @D9
  217. LSX=7:LSY=1:LEX=6:LEY=1
  218. GOTO @LINE2
  219. @D10
  220. LSX=7:LSY=2:LEX=6:LEY=2
  221. GOTO @LINE2
  222. @D11
  223. LSX=6:LSY=1:LEX=5:LEY=2
  224. GOTO @LINE2
  225. @D12
  226. LSX=6:LSY=2:LEX=5:LEY=2
  227. GOTO @LINE2
  228. @D13
  229. LSX=5:LSY=2:LEX=4:LEY=3
  230. GOTO @LINE2
  231. @D14
  232. LSX=5:LSY=3:LEX=4:LEY=3
  233. GOTO @LINE2
  234. @D15
  235. LSX=1:LSY=1:LEX=6:LEY=1
  236. GOTO @LINE2
  237. @D16
  238. LSX=2:LSY=2:LEX=5:LEY=2
  239. GOTO @LINE2
  240. @D17
  241. LSX=3:LSY=3:LEX=4:LEY=3
  242. GOTO @LINE2
  243. @D18
  244. LSX=1:LSY=1:LEX=1:LEY=6
  245. GOTO @LINE1
  246. @D19
  247. LSX=2:LSY=2:LEX=2:LEY=5
  248. GOTO @LINE1
  249. @D20
  250. LSX=3:LSY=3:LEX=3:LEY=4
  251. GOTO @LINE1
  252. @D21
  253. LSX=6:LSY=1:LEX=6:LEY=6
  254. GOTO @LINE1
  255. @D22
  256. LSX=5:LSY=2:LEX=5:LEY=5
  257. GOTO @LINE1
  258. @D23
  259. LSX=4:LSY=3:LEX=4:LEY=4
  260. GOTO @LINE1
  261. @LINE1
  262. GLINE GX(LSX+1),GY(LSY+1),GX(LEX+1),GY(LEY+1)
  263. RETURN
  264. @LINE2
  265. GLINE GX(LSX+1),GY(LSY+1),GX(LEX+1),GY(LEY+1)
  266. GLINE GX(LSX+1),GY(7-LSY+1),GX(LEX+1),GY(7-LEY+1)
  267. RETURN
  268. ’マッフ゜ナイノアイテムヲヒョウシ゛
  269. @DRAWITEM
  270. SPCLR 1:SPCLR 2
  271. IF NMAP(2,1)<=1 OR NMAP(1,1)==1 THEN @DICHK2
  272. IF NMAP(2,1)==2 THEN @DIUP
  273. SPSET 1,57,0,0,0,0
  274. SPOFS 1,182,85
  275. GOTO @DICHK2
  276. @DIUP
  277. SPSET 1,207,0,0,0,0
  278. SPOFS 1,182,43
  279. @DICHK2
  280. IF NMAP(1,1)<=1 THEN @DICHK3
  281. IF NMAP(1,1)==2 THEN @DIUP2
  282. SPSET 2,57,0,0,0,0
  283. SPOFS 2,174,82
  284. SPSCALE 2,200
  285. GOTO @DICHK3
  286. @DIUP2
  287. SPSET 2,207,0,0,0,0
  288. SPOFS 2,174,29
  289. SPSCALE 2,200
  290. @DICHK3
  291. RETURN
  292. @PSTATUS
  293. LOCATE 0,0:PRINT”┌─────────┐”;
  294. FOR Y=1 TO 5
  295. LOCATE 0,Y:PRINT”│”;
  296. LOCATE 10,Y:PRINT”│”;
  297. NEXT
  298. LOCATE 0,6:PRINT”└─────────┘”;
  299. LOCATE 1,1:PRINT”HP ”;PHP;”   ”;
  300. IF PEQUIP==0 THEN EQ$=”ケ゛ンコツ”
  301. IF PEQUIP==1 THEN EQ$=”コンホ゛ウ”
  302. IF PEQUIP==2 THEN EQ$=”フツウノケン”
  303. IF PEQUIP==3 THEN EQ$=”テ゛ンセツノケン”
  304. LOCATE 1,2:PRINT EQ$;
  305. FOR Y=0 TO 2
  306. IF PITEM(Y)==1 THEN LOCATE 1,Y+3:PRINT”ヤクソウ”;
  307. NEXT
  308. RETURN
  309. ’セントウ
  310. @BATTLE
  311. ECHR=RND(2)
  312. BGMPLAY BGMBTL
  313. EHP=(ECHR*10+10)*(LEVEL+1)
  314. SPSET 0,ESPR(ECHR),EPLT(ECHR),0,0,0
  315. SPOFS 0,174,85
  316. SPSCALE 0,200
  317. SPANIM 0,2,10,0
  318. BCMD=0
  319. BEEP
  320. @BTURN
  321. CLS
  322. GOSUB @PSTATUS
  323. LOCATE 0,17:PRINT”モンスタ-カ゛アラワレタ!”
  324. BOLDBTN=0
  325. LOCATE 1,18:PRINT” タタカウ”
  326. LOCATE 1,19:PRINT” マホウ”
  327. LOCATE 1,20:PRINT” アイテム”
  328. LOCATE 1,21:PRINT” ニケ゛ル”
  329. MCMD=BCMD:MMAXCMD=4:LOCATE 0,18:GOSUB @MENUSEL
  330. BCMD=MCMD
  331. @DOCMD
  332. RUNAWAY=0
  333. ON BCMD GOSUB @ATTACK,@SPELL,@ITEM,@RUNAWAY
  334. IF RUNAWAY==1 THEN RETURN
  335. IF EHP<=0 THEN GOTO @EDEAD
  336. GOSUB @EATTACK
  337. IF PHP<=0 THEN GOTO @PDEAD
  338. GOTO @BTURN
  339. @EDEAD
  340. BGMPLAY 5
  341. SPSCALE 0,0,60
  342. SPOFS 0,190,101,60
  343. @EDWAIT
  344. IF BGMCHK()==TRUE THEN WAIT 1:GOTO @EDWAIT
  345. SPCLR 0
  346. CLS
  347. GOSUB @PSTATUS
  348. LOCATE 0,17:PRINT”モンスタ-ヲタオシタ!”
  349. LOCATE 4,19
  350. GOSUB @BWAIT
  351. CLS
  352. GOSUB @PSTATUS
  353. BGMPLAY BGMDUN
  354. RETURN
  355. @PDEAD
  356. BGMSTOP
  357. CLS:SPCLR:GCLS 0
  358. LOCATE 11,10:PRINT”アナタハ シニマシタ”
  359. LOCATE 11,12:PRINT” GAMEOVER ”
  360. LOCATE 15,14
  361. GOSUB @BWAIT
  362. CLS
  363. END
  364. @EATTACK
  365. CLS
  366. MYDMG=(RND(4)+(ECHR*3+1))*(LEVEL+1)
  367. BEEP 4
  368. LOCATE 0,17:PRINT”モンスタ-ノコウケ゛キ!”
  369. LOCATE 0,18:PRINT”アナタニ、”;MYDMG;”ノタ゛メ-シ゛!”
  370. PHP=PHP-MYDMG
  371. GOSUB @PSTATUS
  372. LOCATE 5,20
  373. GOSUB @BWAIT
  374. RETURN
  375. @ATTACK
  376. CLS
  377. GOSUB @PSTATUS
  378. BDMG=(RND(4)+4)*(PEQUIP+1)
  379. BEEP 11
  380. LOCATE 0,17:PRINT”アナタノコウケ゛キ!”
  381. LOCATE 0,18:PRINT”モンスタ-ニ、”;BDMG;”ノタ゛メ-シ゛!”
  382. EHP=EHP-BDMG
  383. LOCATE 5,20
  384. GOSUB @BWAIT
  385. RETURN
  386. @SPELL
  387. CLS
  388. GOSUB @PSTATUS
  389. BDMG=RND(10)+5
  390. MYDMG=3
  391. BEEP 13
  392. LOCATE 0,17:PRINT”アナタハマホウヲトナエタ!”
  393. LOCATE 0,18:PRINT”モンスタ-ニ、”;BDMG;”ノタ゛メ-シ゛!”
  394. EHP=EHP-BDMG
  395. PHP=PHP-MYDMG
  396. GOSUB @PSTATUS
  397. LOCATE 5,20
  398. GOSUB @BWAIT
  399. RETURN
  400. ’ニケ゛ル
  401. @RUNAWAY
  402. BEEP 1
  403. CLS:GOSUB @PSTATUS
  404. IF RND(100)<50 THEN @RWSUCC
  405. ’シッハ゜イ
  406. LOCATE 0,17:PRINT”ニケ゛ラレナカッタ!”;
  407. LOCATE 5,19:GOSUB @BWAIT
  408. RETURN
  409. @RWSUCC
  410. SPCLR 0
  411. BGMSTOP
  412. LOCATE 0,17:PRINT”ナントカニケ゛ラレタ・・・”;
  413. LOCATE 5,19:GOSUB @BWAIT
  414. CLS:GOSUB @PSTATUS
  415. RUNAWAY=1
  416. BGMPLAY BGMDUN
  417. RETURN
  418. ’アイテム
  419. @ITEM
  420. CLS:GOSUB @PSTATUS
  421. FOR I=2 TO 0 STEP -1
  422. IF PITEM(I)!=0 THEN SELITEM=PITEM(I):PITEM(I)=0:GOTO @USEITEM
  423. NEXT
  424. LOCATE 0,17:PRINT”アイテムヲモッテイナイ!”;
  425. LOCATE 5,19:GOSUB @BWAIT
  426. CLS:GOSUB @PSTATUS
  427. RETURN
  428. @USEITEM
  429. BEEP 5
  430. LOCATE 0,17:PRINT”アナタハヤクソウヲツカッタ!”
  431. LOCATE 5,19:GOSUB @BWAIT
  432. PHP=PHP+60
  433. IF PHP>100 THEN PHP=100
  434. CLS:GOSUB @PSTATUS
  435. RETURN
  436. @BWAIT
  437. BWCNT=0
  438. BWX=CSRX:BWY=CSRY
  439. @BWLOOP
  440. IF (BUTTON() AND 16) !=0 THEN WAIT 1:GOSUB @BWPRMPT:GOTO @BWLOOP
  441. BWOLD=0
  442. @BWLOOP2
  443. IF (BTRIG() AND 16)!=0 THEN WAIT 1:RETURN
  444. WAIT 1:GOSUB @BWPRMPT:GOTO @BWLOOP2
  445. @BWPRMPT
  446. BWCNT=BWCNT+1
  447. IF BWCNT>40 THEN BWCNT=0
  448. IF BWCNT<20 THEN LOCATE BWX,BWY:PRINT”А”;
  449. IF BWCNT>=20 THEN LOCATE BWX,BWY:PRINT” ”;
  450. RETURN
  451. ’タカラハ゛コ
  452. @TBOX
  453. CLS
  454. GOSUB @PSTATUS
  455. LOCATE 0,17:PRINT”タカラハ゛コカ゛アル・・・”
  456. LOCATE 1,18:PRINT” コシ゛アケル”;
  457. LOCATE 1,19:PRINT” シ゛ュモンヲツカウ”;
  458. LOCATE 1,20:PRINT” ムシスル”;
  459. MCMD=0:MMAXCMD=3:LOCATE 0,18:GOSUB @MENUSEL
  460. ON MCMD GOSUB @TOPENF,@TOPENS,@TIGNORE
  461. RETURN
  462. ’ムシ
  463. @TIGNORE
  464. CLS:GOSUB @PSTATUS
  465. MIGNORE=1
  466. RETURN
  467. ’シ゛ュモンテ゛アケル
  468. @TOPENS
  469. PHP=PHP-3
  470. IF PHP<0 THEN GOSUB @PDEAD
  471. GOTO @TOSUCC
  472. ’コシ゛アケル
  473. @TOPENF
  474. IF RND(10)<7 THEN @TOSUCC
  475. ’シッハ゜イ
  476. BEEP 10
  477. CLS:GOSUB @PSTATUS
  478. LOCATE 0,17:PRINT”ワナタ゛!”
  479. MYDMG=(RND(10)+5)*LEVEL
  480. LOCATE 0,18:PRINT MYDMG;”ノタ゛メ-シ゛ヲウケタ!”
  481. PHP=PHP-MYDMG
  482. IF PHP<0 THEN GOSUB @PDEAD
  483. GOSUB @PSTATUS
  484. GOTO @TOERASE
  485. ’セイコウ
  486. @TOSUCC
  487. BEEP 12
  488. CLS:GOSUB @PSTATUS
  489. LOCATE 0,17:PRINT”タカラハ゛コヲアケタ!”
  490. TITEM=NMAP(1,1)-3
  491. ON TITEM GOTO @POTION,@SWORDL,@SWORDM,@SWORDH
  492. @POTION
  493. LOCATE 0,18:PRINT”ヤクソウヲミツケタ!”
  494. FOR I=0 TO 2
  495. IF PITEM(I)==0 THEN PITEM(I)=1:GOTO @TOERASE
  496. NEXT
  497. GOTO @TOERASE
  498. @SWORDL
  499. LOCATE 0,18:PRINT”コンホ゛ウヲミツケタ!”
  500. PEQUIP=1
  501. GOTO @TOERASE
  502. @SWORDM
  503. LOCATE 0,18:PRINT”フツウノケンヲミツケタ!”
  504. PEQUIP=2
  505. GOTO @TOERASE
  506. @SWORDH
  507. LOCATE 0,18:PRINT”テ゛ンセツノケンヲミツケタ!”
  508. PEQUIP=3
  509. GOTO @TOERASE
  510. @TOERASE
  511. IF PDIR==0 THEN MAP(PY,PX+1)=0
  512. IF PDIR==1 THEN MAP(PY+1,PX)=0
  513. IF PDIR==2 THEN MAP(PY,PX-1)=0
  514. IF PDIR==3 THEN MAP(PY-1,PX)=0
  515. LOCATE 5,20:GOSUB @BWAIT
  516. CLS:GOSUB @PSTATUS
  517. RETURN
  518. ’カイタ゛ン
  519. @STAIR
  520. LOCATE 0,17:PRINT”ウエエノホ゛ルカイタ゛ンヲミツケタ・・・”
  521. LOCATE 0,18:PRINT”ノホ゛リマスカ?”
  522. LOCATE 1,19:PRINT” ハイ”
  523. LOCATE 1,20:PRINT” イイエ”
  524. MCMD=0:MMAXCMD=2:LOCATE 0,19:GOSUB @MENUSEL
  525. IF MCMD==0 THEN @UPSTAIR
  526. CLS:GOSUB @PSTATUS
  527. MIGNORE=1
  528. RETURN
  529. @UPSTAIR
  530. LEVEL=LEVEL+1
  531. IF LEVEL==3 THEN @GAMECLR
  532. BGMPLAY 4
  533. @UPSWAIT
  534. IF BGMCHK()==TRUE THEN WAIT 1:GOTO @UPSWAIT
  535. CLS:GOSUB @PSTATUS
  536. RETURN
  537. ’ケ゛-ムクリア
  538. @GAMECLR
  539. BGMPLAY 6
  540. @CLWAIT
  541. IF BGMCHK()==TRUE THEN WAIT 1:GOTO @CLWAIT
  542. CLS:GCLS 0:SPCLR
  543. LOCATE 10,5:PRINT”GAME CLEAR!!”
  544. WAIT 120
  545. BGMPLAY 7
  546. LOCATE 0,8: PRINT”             МSTAFF”;
  547. LOCATE 0,10:PRINT”         DIRECTOR   オレ”
  548. LOCATE 0,11:PRINT”         PROGRAMMER ワシ”
  549. LOCATE 0,12:PRINT”         TESTPLAY   ホ゛ク”
  550. LOCATE 0,13:PRINT”         DESIGNER   コ゛ト-”
  551. LOCATE 0,14:PRINT”  ALL SOUND COMPOSED BY JOEDOWN”
  552. LOCATE 0,17:PRINT”    ソシテ、コノケ゛-ムヲモットオモシロクスルノハ”
  553. LOCATE 0,18:PRINT”             アナタテ゛ス。”
  554. LOCATE 16,20:GOSUB @BWAIT
  555. CLS
  556. BGMSTOP
  557. END
  558. ’メニュ-センタクサフ゛ル-チン
  559. @MENUSEL
  560. MTOPY=CSRY
  561. @MENULOOP
  562. LOCATE 0,MTOPY+MCMD:PRINT”Й”;
  563. MBTN=BTRIG()
  564. OLDMCMD=MCMD
  565. IF (MBTN AND 1)!=0 THEN MCMD=MCMD-1
  566. IF (MBTN AND 2)!=0 THEN MCMD=MCMD+1
  567. IF (MBTN AND 16)!=0 THEN WAIT 1:RETURN
  568. IF MCMD<0 THEN MCMD=MMAXCMD-1
  569. IF MCMD>=MMAXCMD THEN MCMD=0
  570. IF OLDMCMD!=MCMD THEN LOCATE 0,MTOPY+OLDMCMD:PRINT” ”;
  571. WAIT 1:GOTO @MENULOOP
  572. @GRID
  573. DATA 141,16
  574. DATA 152,27
  575. DATA 163,38
  576. DATA 174,49
  577. DATA 207,93
  578. DATA 218,104
  579. DATA 229,115
  580. DATA 240,126
  581. @MAP1
  582. ’BGM
  583. DATA 1,2
  584. ’テキキャラクタ-
  585. DATA 130,2,194,2
  586. ’フ゜レイヤ-ノショキイチトムキ
  587. DATA 14,1,1
  588. ’マッフ゜テ゛-タ
  589. ’0:トオレル  1:カヘ゛ 2:ハシコ゛ 3-9:タカラハ゛コ
  590. DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
  591. DATA 1,3,0,0,1,0,4,1,0,3,1,3,0,1,0,1
  592. DATA 1,1,1,0,1,0,0,1,0,0,1,1,0,1,0,1
  593. DATA 1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,1
  594. DATA 1,0,1,1,1,1,0,1,0,0,1,0,1,1,0,1
  595. DATA 1,0,1,0,0,1,0,1,0,1,1,0,1,1,0,1
  596. DATA 1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,1
  597. DATA 1,0,1,0,1,1,0,1,0,1,1,1,1,1,0,1
  598. DATA 1,0,0,0,0,0,0,1,0,0,0,0,0,1,0,1
  599. DATA 1,1,1,1,1,0,1,1,1,0,1,1,1,1,0,1
  600. DATA 1,0,0,1,0,0,0,1,0,0,1,2,0,1,0,1
  601. DATA 1,0,0,1,0,0,0,1,0,1,1,0,1,1,0,1
  602. DATA 1,0,0,0,0,0,0,1,0,0,1,0,1,0,0,1
  603. DATA 1,0,1,1,1,1,1,1,1,1,1,0,1,0,0,1
  604. DATA 1,0,0,0,0,0,0,0,0,0,0,0,1,0,3,1
  605. DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
  606. @MAP2
  607. DATA 9,3
  608. DATA 130,6,194,6
  609. DATA 11,10,3
  610. DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
  611. DATA 1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1
  612. DATA 1,0,0,0,1,1,1,1,1,0,1,0,1,0,1,1
  613. DATA 1,0,1,1,1,0,0,0,1,0,1,0,1,0,3,1
  614. DATA 1,0,1,5,0,0,1,1,1,0,1,0,1,0,1,1
  615. DATA 1,0,1,1,1,0,0,0,1,0,1,0,1,0,0,1
  616. DATA 1,0,1,0,0,0,1,1,1,0,1,0,1,1,0,1
  617. DATA 1,0,1,1,1,0,1,1,0,0,1,0,0,1,0,1
  618. DATA 1,0,0,0,0,0,1,1,0,1,1,1,0,1,0,1
  619. DATA 1,0,1,1,1,1,1,1,0,1,0,0,0,1,0,1
  620. DATA 1,0,0,0,0,0,0,1,0,1,0,0,0,1,0,1
  621. DATA 1,0,1,1,1,1,0,1,0,1,1,1,1,1,0,1
  622. DATA 1,0,3,1,2,0,0,1,0,1,3,1,0,0,0,1
  623. DATA 1,0,0,1,1,1,1,1,0,1,0,0,0,1,0,1
  624. DATA 1,0,0,1,3,0,0,0,0,1,0,0,1,0,0,1
  625. DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
  626. @MAP3
  627. DATA 23,13
  628. DATA 130,3,194,3
  629. DATA 4,12,0
  630. DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
  631. DATA 1,0,1,0,0,0,0,1,1,1,1,1,0,1,2,1
  632. DATA 1,0,1,0,1,1,0,1,3,0,0,1,0,1,0,1
  633. DATA 1,0,1,0,1,1,0,1,0,0,0,1,0,1,0,1
  634. DATA 1,0,1,0,1,3,0,1,1,1,0,1,0,1,0,1
  635. DATA 1,0,1,0,1,1,0,1,1,1,0,1,0,0,0,1
  636. DATA 1,0,0,0,1,0,0,0,0,0,0,1,0,1,1,1
  637. DATA 1,1,1,0,1,1,1,1,1,0,1,1,0,0,0,1
  638. DATA 1,0,3,0,1,0,0,1,0,0,0,1,0,1,0,1
  639. DATA 1,0,1,0,0,0,0,1,0,1,0,1,0,1,0,1
  640. DATA 1,0,0,0,1,0,0,1,0,1,0,1,0,1,0,1
  641. DATA 1,0,1,1,1,1,1,1,0,1,0,1,0,1,0,1
  642. DATA 1,0,1,1,0,0,0,1,0,1,0,0,0,1,3,1
  643. DATA 1,0,1,1,1,1,0,1,0,1,1,1,1,1,1,1
  644. DATA 1,0,0,0,0,0,0,1,0,0,0,0,0,0,6,1
  645. DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1