- ’┌──────────┐
 
- ’│タ゛ッシュツケ゛-ム│
 
- ’└──────────┘
 
- VISIBLE 1,1,1,1,1,1
 
- CLS
 
- GPAGE 0:GCOLOR 0:GCLS
 
- SPPAGE 0:SPCLR
 
- BGPAGE 0
 
- BGOFS 0,0,0
 
- BGOFS 1,0,0
 
- ’---
 
- CLEAR
 
- WMAX=3:EMAX=16:HI=1000
 
- DIM W(WMAX,4),OX(4),OY(4)
 
- DIM E(EMAX,8)
 
- _X=0:_Y=1:_V=2:_S=3:’_____
 
- ’
 
- DATA 0,0,1,0,0,1,1,1
 
- FOR I=0 TO 3
 
-  READ OX(I),OY(I)
 
- NEXT
 
- ’---カヘ゛
 
- DATA &H010D,&H010E,&H012D,&H012E
 
- DATA &H0001,&H1001,&H2001,&H3001
 
- DATA &H0002,&H1002,&H0002,&H1002
 
- FOR I=0 TO WMAX-1
 
-  FOR J=0 TO 3
 
-   READ W(I,J)
 
-  NEXT
 
- NEXT
 
- ’---ショキカ
 
- PR=2:REQ=0:FLW=-1
 
- ’┌───────┐
 
- ’│メインル-フ゜│
 
- ’└───────┘
 
- @MLOOP
 
-  OLDB=B:B=BUTTON()
 
-  IF FLW==REQ GOTO @JPFLOW
 
-  FLW=REQ
 
-  ON FLW GOSUB @TINIT,@GINIT,@OVINIT
 
- @JPFLOW
 
-  ON FLW GOSUB @TITLE,@GAME,@GOVER
 
-  VSYNC 1
 
- GOTO @MLOOP
 
- END
 
- ’┌────┐
 
- ’│ケ゛-ム│
 
- ’└────┘
 
- @GAME
 
- GOSUB @PLAYER
 
- GOSUB @PUTSTAT
 
- GOSUB @WALL
 
- GOSUB @ENEMY
 
- RETURN
 
- ’---
 
- @PUTSTAT
 
- LOCATE 0,0:PRINT”1P:”;OY;”m”
 
- COLOR 13
 
- LOCATE 10,0:PRINT”HI:”;HI;”m”
 
- COLOR 0
 
- RETURN
 
- ’---
 
- @ENEMY
 
- ’---シ゛カンテ゛ハッセイ
 
- ET=ET-1
 
- IF ET!=0 GOTO @ELOOP
 
- GOSUB @EBORN
 
- ’---
 
- @ELOOP
 
- CX=PX+7
 
- FOR I=0 TO ECNT-1
 
-  IF E(I,_S)==0 GOTO @ENEXT
 
-  ’---テキイト゛ウ
 
-  EX=E(I,_X):V=E(I,_V)
 
-  EY=E(I,_Y)+OY
 
-  IF E(I,_S)==1 GOTO @EMOVE
 
-  ’---オリテルサイチュウ
 
-  E(I,_S)=E(I,_S)-1
 
-  EY=EY+1
 
-  GOTO @EPUT
 
-  ’---サユウイト゛ウ
 
- @EMOVE
 
-  EX=EX+V
 
-  IF EX<16 THEN EX=16:V=-V
 
-  IF EX>223 THEN EX=224:V=-V
 
-  E(I,_V)=V
 
-  ’---アシモトカクニン
 
-  X=((EX+8)/8) AND 63
 
-  Y=((EY+16-OY)/8) AND 63
 
-  BGREAD(1,X,Y),N,C,H,V
 
-  IF N==1 GOTO @EPUT
 
-  ’---オリル
 
-  E(I,_S)=32+1
 
-  ’---ヒョウシ゛
 
- @EPUT
 
-  SPOFS I+10,EX,EY
 
-  E(I,_X)=EX
 
-  E(I,_Y)=EY-OY
 
-  ’---シュウリョウカクニン
 
-  IF EY>192 THEN E(I,_S)=0
 
-  ’---アタリハンテイ
 
-  IF PY!=EY GOTO @ENEXT
 
-  IF CX<EX  GOTO @ENEXT
 
-  IF CX>EX+15 GOTO @ENEXT
 
-  ’---タ゛メ-シ゛
 
-  DM=DM+1
 
-  ’---
 
- @ENEXT
 
- NEXT
 
- RETURN
 
- ’---
 
- @WALL
 
- ST=ST-1
 
- IF ST>0 GOTO @MOVWALL
 
- ’---テキヲフヤス
 
- ST=1000
 
- ECNT=ECNT+1
 
- IF ECNT>EMAX THEN ECNT=EMAX
 
- ’---
 
- @MOVWALL
 
- HY=HY+0.5
 
- BGOFS 0,0,HY AND 511
 
- BGOFS 1,0,(511-OY) AND 511
 
- ’--- ヤラレタ?
 
- IF DM>0 GOTO @PDEAD
 
- IF HY<160 THEN RETURN
 
- @PDEAD
 
- COLSET ”BG”,0,”FF0000”
 
- REQ=2
 
- RETURN
 
- ’---
 
- @PLAYER
 
- ’---シ゛ョウケ゛イト゛ウチュウ?
 
- IF MY==0 GOTO @MOVP
 
- V=1
 
- MY=MY-V
 
- OY=OY+V:IF OY>HI THEN HI=OY
 
- HY=HY-V
 
- IF HY<0 THEN HY=0
 
- IF MY>0 THEN RETURN
 
- RETURN
 
- ’---イト゛ウ
 
- @MOVP
 
- IF B AND 1 GOTO @MOVUP
 
- @MOVPLR
 
- VX=0
 
- IF B AND 4 THEN PD=2:VX=VX-1
 
- IF B AND 8 THEN PD=0:VX=VX+1
 
- PX=PX+VX*2
 
- IF PX<16 THEN PX=16
 
- IF PX>223 THEN PX=224
 
- ’---
 
- @PEND
 
- SPOFS 0,PX,PY
 
- SPCHR 0,PD*2+128
 
- IF SPCHK(1) THEN RETURN
 
- SPOFS 1,-32,-32
 
- SPANGLE 1,0
 
- RETURN
 
- ’---ノホ゛レタラノホ゛ル
 
- @MOVUP
 
- X=((PX+8)/8) AND 63
 
- Y=((PY-8-OY)/8) AND 63
 
- IF BX==X GOTO @MOVPLR
 
- BX=X
 
- BGREAD(1,X,Y),N,C,H,V
 
- IF N!=1 GOTO @UPOK
 
- ’---フ゛ツカッタ
 
- SPOFS 1,PX+8,PY-8
 
- SPANGLE 1,270,15
 
- BEEP 11
 
- GOSUB @EBORN
 
- GOTO @MOVPLR
 
- ’---
 
- @UPOK
 
- MY=32:PD=3:BX=-1:VX=0
 
- GOSUB @PUTLINE
 
- GOTO @PEND
 
- ’---アタラシイマッフ゜ノセイセイ
 
- @PUTLINE
 
- SX=SX+(RND(3)*2)
 
- Y=(BY-2) AND 63
 
- FOR X=2 TO 29 STEP 2
 
-  N=1:SX=FLOOR(SX%28)
 
-  IF X!=SX+2 GOTO @SKPWALL
 
-  N=2:SX=SX+(RND(8)*2)
 
- @SKPWALL
 
-  C=0:GOSUB @PUTWALL
 
- NEXT
 
- BY=BY-4:BY=BY AND 63
 
- ’---テキノハッセイ
 
- @EBORN
 
- ET=RND(30)+30
 
- I=0
 
- @EBORNLP
 
- IF E(I,_S)==0 GOTO @ESET
 
- I=I+1
 
- IF I<EMAX GOTO @EBORNLP
 
- RETURN
 
- ’---
 
- @ESET
 
- E(I,_S)=1
 
- X=RND(256-32)+16
 
- V=SGN(PX-X)
 
- IF V==0 THEN V=1
 
- E(I,_X)=X
 
- E(I,_V)=V
 
- Y=FLOOR(OY/32)*32
 
- E(I,_Y)=-Y
 
- RETURN
 
- ’---
 
- @GINIT
 
- CLS
 
- BGPAGE 0
 
- BGCLIP 0,0,31,23
 
- BGOFS 0,0,0
 
- BGOFS 1,0,0
 
- ’--- キャラテイキ゛
 
- B$=”EEEEEEEE”
 
- C$=”EFFFFFFF”
 
- D$=”EFDDDDDD”
 
- CHRSET ”BGU0”,1,B$+C$+D$+D$+D$+D$+D$+D$
 
- C$=”07700000”
 
- D$=”07777777”
 
- CHRSET ”BGU0”,2,C$+D$+D$+C$+C$+D$+D$+C$
 
- C$=   ”000F0000”
 
- C$=C$+”000F1000”
 
- C$=C$+”00FFF100”
 
- C$=C$+”00FFF100”
 
- C$=C$+”0FFFFF10”
 
- C$=C$+”0FFFFF10”
 
- C$=C$+”FFFFFFF1”
 
- C$=C$+”FFFFFFF1”
 
- CHRSET ”BGU0”,3,C$
 
- ’--- カヘ゛カ゛ワ
 
- C=0
 
- FOR Y=0 TO 63 STEP 2
 
-  N=1:X=0:GOSUB @PUTWALL
 
-  FOR X=2 TO 28 STEP 2
 
-   N=0:GOSUB @PUTWALL
 
-  NEXT
 
-  N=1:X=30:GOSUB @PUTWALL
 
- NEXT
 
- FOR Y=0 TO 63
 
-  FOR X=0 TO 31
 
-   BGPUT 0,X,Y,&H000,0,0,0
 
-  NEXT
 
- NEXT
 
- ’--- トケ゛カ゛ワ
 
- FOR X=0 TO 31
 
-  BGPUT 0,X,32,&H3,0,0,0
 
- NEXT
 
- FOR Y=1 TO 31
 
-  FOR X=0 TO 31
 
-   BGPUT 0,X,32+Y,&H327,12,0,0
 
-  NEXT
 
- NEXT
 
- ’---フ゜レイヤ-アニメ
 
- SPSET 0,134,2,0,0,PR
 
- SPANIM 0,2,8,0
 
- SPOFS 0,PX,PY
 
- SPSET 1,48,0,0,0,0
 
- SPANIM 1,4,2,0
 
- SPOFS 1,PX,PY
 
- ’---テキアニメ
 
- FOR I=0 TO EMAX-1
 
-  E(I,_S)=0
 
-  SPSET I+10,248,2,0,0,PR
 
-  SPANIM I+10,4,4,0
 
-  SPOFS I+10,-32,-32
 
- NEXT
 
- ’---
 
- SP=5:SX=0
 
- BY=0:OY=0
 
- PX=120:PY=96:VX=0
 
- PD=3:MY=0:DM=0
 
- HY=0:ST=1000:ECNT=0
 
- ’---スタ-ト
 
- GOSUB @PUTLINE
 
- VISIBLE 1,1,1,1,1,1
 
- BGMPLAY 11
 
- LOCATE 9,23
 
- PRINT ”П↑ノホ゛ル П←→イト゛ウ”;
 
- RETURN
 
- ’---
 
- @PUTWALL
 
- FOR M=0 TO 3
 
-  GOSUB @PUT1
 
- NEXT
 
- RETURN
 
- ’
 
- @PUT1
 
- I=W(N,M):H=0:V=0
 
- IF I AND &H1000 THEN H=1
 
- IF I AND &H2000 THEN V=1
 
- I=I AND &H3FF
 
- BGPUT 1,X+OX(M),Y+OY(M),I,C,H,V
 
- RETURN
 
- ’┌────┐
 
- ’│タイトル│
 
- ’└────┘
 
- @TINIT
 
- CLS
 
- VISIBLE 1,1,0,0,1,1
 
- BGMPLAY 22
 
- SPSET 0,48,0,0,0,0
 
- SPOFS 0,230,32
 
- SPANIM 0,4,4,0
 
- LOCATE 0,5
 
- COLOR 11:PRINT”      ┝┿┿┸┝┿┿┸┝┿┿┸┝┿┿┸┝┿┿┸┝┿┿┸”
 
- COLOR 9 :PRINT”     ┝┸  ┝┸  ┝┸  ┝┸┝┸┝┸┝┸┝┸”
 
- COLOR 0 :PRINT”    ┝┿┿┸┝┿┿┸┝┸  ┝┿┿┸┝┿┿┸┝┿┿┸”
 
- COLOR 9 :PRINT”   ┝┸    ┝┸┝┸  ┝┸┝┸┝┸  ┝┸”
 
- COLOR 11:PRINT”  ┝┿┿┸┝┿┿┸┝┿┿┸┝┸┝┸┝┸  ┝┿┿┸”
 
- COLOR 13
 
- LOCATE 12,1:PRINT”HI:”;HI;”m”
 
- COLOR 0
 
- LOCATE 8,13
 
- PRINT ”PUSH ANY BUTTON”
 
- LOCATE 3,22
 
- PRINT ”(C)2011 SmileBoom Co.Ltd.”
 
- RETURN
 
- ’---
 
- @TITLE
 
- IF B==0 THEN RETURN
 
- REQ=1
 
- VISIBLE 1,1,0,0,0,0
 
- BGMSTOP
 
- RETURN
 
- ’┌─────────┐
 
- ’│ケ゛-ムオ-ハ゛-│
 
- ’└─────────┘
 
- @OVINIT
 
- VISIBLE 1,1,0,0,1,0
 
- CLS
 
- BGMPLAY 6
 
- SPCHR 0,128
 
- SPANIM 0,8,2,0
 
- LOCATE PX/8,11
 
- PRINT”ウヘッ!”
 
- LOCATE 10,20
 
- PRINT”タ゛ッシュツ シッハ゜イ”
 
- RETURN
 
- ’---
 
- @GOVER
 
- IF BGMCHK() THEN RETURN
 
- COLSET ”BG”,0,”000000”
 
- SPCLR
 
- REQ=0
 
- RETURN