プチコン

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