10 DIM RO$(5,12),M(12,12) 20 CD=&HED0D:RD=5:R=1 30 CONSOLE0,20,0,0:GOSUB740 40 REM ***** make screen ************* 50 SCREEN3,2,2:COLOR16,1:CLS 60 KANJI(77,0),15,95,888"‚Ì"873,287 70 SOUND7,170:SOUND9,16:SOUND12,80:SOUND13,14 80 FORW=1TO12:FORV=0TO12 90 CH=VAL(MID$(RO$(R,W),V+1,1)) 100 GOSUB660:NEXTV:NEXTW 110 SOUND7,120:X=1:Y=12:N=0 120 PLAY"s8m5000l16t200","s8m5000l16t200" 130 REM **** main ******************** 140 CH=5:V=X:W=Y:GOSUB660 150 IFSTRIG(0)THEN690 160 S=STICK(0):IFS=0THEN150 170 DX=(S=7)-(S=3):DY=(S=1)-(S=5) 180 XX=X+DX:YY=Y+DY:GOSUB630 190 ONM(XX,YY)+1GOTO200,150,230,150,310 200 CH=0:V=X:W=Y:GOSUB660 210 X=XX:Y=YY:GOTO140 220 REM **** pearl move ************** 230 PX=XX:PY=YY:XX=XX+DX:YY=YY+DY:GOSUB630 240 ONM(XX,YY)+1GOTO250,150,150,150,390,150 250 CH=2:V=PX:W=PY:GOSUB660:PLAY"o4F","o4F" 260 XX=PX+DX:YY=PY+DY:GOSUB630 270 ONM(XX,YY)+1GOTO280,150,150,150,390,150 280 CH=0:V=PX:W=PY:GOSUB660 290 PX=XX:PY=YY:GOTO250 300 REM **** block move ************** 310 BX=XX:BY=YY:XX=XX+DX:YY=YY+DY:GOSUB630 320 ONM(XX,YY)+1GOTO330,150,400,150,150,150 330 CH=4:V=BX:W=BY:GOSUB660:PLAY"o5d","o5d" 340 XX=BX+DX:YY=BY+DY:GOSUB630 350 ONM(XX,YY)+1GOTO360,150,400,150,370,150 360 CH=0:V=BX:W=BY:GOSUB660 370 BX=XX:BY=YY:GOTO330 380 REM **** pearl open ************** 390 V=PX:W=PY:GOTO410 400 V=BX:W=BY 410 CH=0:GOSUB660:CH=3:V=XX:W=YY:GOSUB660 420 FORI=0TO1:COLOR,,2-I:PLAY"o5cdef","o5fgab" 430 NEXT:N=N+1:IFN<5THEN140 440 REM **** round clear! ************ 450 COLOR15:LINE(50,70)-(270,100),2,BF 460 LOCATE4,8:PRINT"ROUND CLEAR!" 470 PLAY"f+gagf+ef+edgf+ef+","def+edo3bb-o4c+agggd" 480 FORI=0TO1500:NEXT:R=R+1:IFR<=RDTHEN50 490 REM **** ending ****************** 500 LINE(0,70)-(319,120),10,BF 510 FORI=13TO5STEP-2:LOCATE2,8 520 COLORRND(1)*6+11:PRINT"CONGRATULATION!":PRINT 530 COLORRND(1)*6+3:PRINT"Dream will come true" 540 RESTORE560:FORJ=0TO2:READM$,N$ 550 PLAY"v=i;"+M$,"v=i-1;"+N$:NEXTJ,I:END 560 DATAt88l4o4g2o5rdcro4br2g2o5ro4br2 570 DATAt88l4o4c2c8o3b8ao4eo3efo4c8a8g8f8e2co3fo4c8a8g8f8 580 DATAg2rdr2g+abo5cr2ger8d8 590 DATAo3e2o4co3bo4fao3ef+g+ao4eao3go4b-c8 600 DATAco4aao5ge3d8cego6co5b3a8o5bar8g8aro4b 610 DATAo3fo4ffc-d3r8o3ao5co4gf+f3r8ee-o3ao4dao3g 620 REM **** hanyou sub ************** 630 YY=-YY*(YY<=12)-(YY<1)*12-(YY>12) 640 XX=-XX*(XX<=12)-(XX<0)*13:RETURN 650 REM **** print chr *************** 660 POKECD,CH:AD=V*3+W*600+160 670 A=USR(AD):M(V,W)=CH:RETURN 680 REM **** give up ***************** 690 COLOR8,,2:LINE(50,70)-(270,100),3,BF 700 LOCATE6,8:PRINT"Give up!" 710 PLAY"t100o4ef+gf+e","t100o3egdgc" 720 FORI=0TO1500:NEXT:COLOR,,1:GOTO50 730 REM **** round set *************** 740 RESTORE770:FORI=1TORD:FORJ=1TO12:READA$ 750 RO$(I,J)=A$:NEXTJ:NEXTI:RETURN 760 REM **** round data ************** 770 DATA 0000000000000,0020111110040,0401100011000,0001000001000 780 DATA 0001200000000,0401111110000,0000000011040,0200000001040 790 DATA 0001000001000,0001100211000,0000111110200,0000000000000 800 DATA 0000000000000,0400000000000,0001004001000,0001000001000 810 DATA 0001040401000,0001000001000,0001000001000,0001000001000 820 DATA 0001002201000,0001100211040,0002111112000,0000000000000 830 DATA 0000000000000,0001204010000,0001000100000,0001001000000 840 DATA 0001210000000,0001122004000,0001110000000,0001201000000 850 DATA 0401000100000,0001400010000,0001000401000,0000000000000 860 DATA 0000002000000,0040011100000,0000001000000,0000001004000 870 DATA 0000001000000,0000001000400,0000001000000,0000001000000 880 DATA 0000001000000,0004001220000,0000011120000,0000402000000 890 DATA 0000000000000,0000400000000,0001104011000,0010010100100 900 DATA 0100004020010,0100000400010,0100000000010,0010020200100 910 DATA 0021000001000,0000100010000,0000012100000,0000400000000