10 REM BLUSY SHOP

20 REM ----------

30 REM PROGRAMADO

40 REM    POR

50 REM JORDI SALA

60 REM ----------

70 REM PARA

80 REM LOS MIEMBROS DEL

90 REM FORUM DE KAROSHI

100 REM ----------

110 '

120 '

130 REM PRESENTACION

140 '

150 '

160 '

170 KEY OFF:SCREEN 1,2,0:CLEAR200:COLOR 5,1,1:WIDTH 32:PA=1:Y=104:V=3:X=32:H=0

180 PLAY"V15L64T255O5"

190 PLAY"BACADC","O5T255L64V15CCDCBA"

200 KEY 1,"SCREEN 0"+CHR$(13)

210 A$=" B L U S Y ":B$=" S H O P ":C$=" Open  Source ":D$=" para los miembros del Forum  "

220 FOR I=0 TO16:LOCATE I,7:PRINTB$:NEXTI

230 FOR I=0 TO 5:LOCATE I,7:PRINTA$:NEXTI

240 FOR I=0 TO 9:LOCATE I,10:PRINTC$:NEXTI

250 FOR I=23 TO3 STEP-1:LOCATE I,13:PRINTD$:NEXTI

260 LOCATE 5,20

270 PRINT "HIT SPACE"

280 IF STRIG(0)<>-1 THEN 280

290 GOSUB 4230

300 SCREEN 2,2:GOSUB 4770:OPEN"GRP:"AS1

340 COLOR 9

350 PRESET(90,60):PRINT#1,"LEVEL  01"

360 PRESET(91,60):PRINT#1,"LEVEL  01"

380 COLOR 12

390 PRESET(90,80):PRINT#1,"LEVEL  02"

400 PRESET(91,80):PRINT#1,"LEVEL  02"

410 COLOR 14

420 PRESET(90,100):PRINT#1,"LEVEL  03"

430 PRESET(91,100):PRINT#1,"LEVEL  03"

440 GOSUB 4830

450 D=STICK(0)+STICK(1)

460 IF STRIG(0)=-1 THEN 520

470 IF M=60 THEN M=0

480 IF D=5 THEN LINE(80,55+M)-(170,70+M),0,B:M=M+20

490 IF M=60 THEN M=0

500 LINE(80,55+M)-(170,70+M),15,B

510 GOTO 450

520 GOSUB 4230:SCREEN 1:IF M=0 THEN L=1

530 IF M=20 THEN L=2

540 IF M=40 THEN L=3

550 GOSUB 4060

560 '

570 '

580 '

590 REM GRAFISMO

600 '

610 '

611 PRINT"wait please..."

620 GOSUB 4240:COLOR15,1,1

630 CLS:RESTORE 3600

650 FOR I=776 TO 935:READ Q:VPOKE I,Q:NEXTI

660 RESTORE 3830:FOR I=952 TO 967:READ Q:VPOKE I,Q:NEXTI

670 RESTORE 3600

680 FOR I=0 TO 5:A$="":FOR I1=1 TO 32:READ A:A$=A$+CHR$(A):NEXTI1:SPRITE$(I)=A$:NEXTI

690 '

700 '

710 '

720 '

730 REM PANTALLA

740 '

750 '

760 '

770 GOSUB 4770:IF E>100 THEN GOSUB 4170

780 CLS:WIDTH 28:H=0

790 PUT SPRITE 1,(0,209)

800 PUT SPRITE 0,(0,209)

810 PRINT"xwwwwwwwwwwwwwwwwwwwwwwwwwwx";

820 FOR I=1 TO 20:LOCATE 0,I

830 PRINT"x                          x";

840 NEXT I

850 PRINT"xwwwwwwwwwwwwwwwwwwwwwwwwwwx";

860 IF L=1 OR L=2 THEN 880

870 LOCATE 19,12:PRINT"":LOCATE 19,11:PRINT"":LOCATE 19,8:PRINT"":LOCATE 19,7:PRINT""

880 IF L=2 THEN LOCATE 11,17:PRINT"":LOCATE 11,18:PRINT""

890 LOCATE 14,1:PRINT" "

900 LOCATE 14,2:PRINT" "

910 LOCATE 16,3:PRINT" "

920 LOCATE 16,4:PRINT" "

930 LOCATE 18,5:PRINT" "

940 LOCATE 18,6:PRINT" "

950 LOCATE 21,7:PRINT""

960 LOCATE 21,8:PRINT""

970 LOCATE 22,9 :PRINT" "

980 LOCATE 22,10:PRINT" "

990 LOCATE 24,11:PRINT" "

1000 LOCATE 24,12:PRINT" "

1010 LOCATE 0,2

1020 PRINT"xwwwwwwwwwwwwwwwwwwwwwwwwwwx";

1030 LOCATE 2,1:PRINT"LEVEL    TIME    HITS 00 "

1040 LOCATE 7,1:PRINT L:LOCATE24,5:PRINTPA;

1050 '

1060 '

1070 '

1080 REM CREACION DE PAN.

1090 '

1100 '

1110 '

1120 BEEP:PLAY"V15A":BEEP

1130 R=RND(-TIME):F=INT(RND(1)*4)

1140 IF PA=2 THEN 1640

1150 IF PA=3 THEN 1770

1160 IF PA=4 THEN 1900

1170 IF PA=5 THEN 2070

1180 IF PA=6 THEN 2200

1190 IF PA=7 THEN 1410

1200 IF PA=8 THEN 1510

1210 IF PA=9 AND L<>4 THEN L=L+1:PA=1:INTERVAL OFF:GOSUB 4360

1220 IF PA=9 AND L=4 THEN SCREEN 0:CLS:LOCATE11,10:PRINT"CONGRATULATIONS":COLOR 6,15,15:FOR I=1 TO 4000:NEXT I:RUN

1230 IF PA=1 THEN 1240

1240 '

1250 '

1260 '

1270 REM PANTALLA 1

1280 '

1290 '

1300 '

1310 INTERVAL OFF:LOCATE 15,15:PRINT"egikegmomoeg"

1320 LOCATE 15,16:PRINT"fhjlfhnpnpfh"

1330 LOCATE 15,17:PRINT"ikegmomoegik"

1340 LOCATE 15,18:PRINT"jlfhnpnpfhjl"

1350 LOCATE 15,19:PRINT"momoegikikeg"

1360 LOCATE 15,20:PRINT"npnpfhjljlfh"

1370 GOSUB 3940

1380 GOTO 2040

1390 '

1400 ' pantalla 7

1410 '

1420 INTERVAL OFF                           :LOCATE 15,15:PRINT"  ik  momomo"

1430 LOCATE 15,16:PRINT"  jl  npnpnp"

1440 LOCATE 15,17:PRINT"ikeg  moikik"

1450 LOCATE 15,18:PRINT"jlfh  npjljl"

1460 LOCATE 15,19:PRINT"moeg  egikeg"

1470 LOCATE 15,20:PRINT"npfh  fhjlfh"

1480 GOSUB 3940

1490 GOTO 2040

1500 '

1510 REM PANTALLA 8

1520 '

1530 INTERVAL OFF                           :LOCATE 15,15:PRINT"    egmoikmo"

1540 LOCATE 15,16:PRINT"    fhnpjlnp"

1550 LOCATE 15,17:PRINT"  egmomoegik"

1560 LOCATE 15,18:PRINT"  fhnpnpfhjl"

1570 LOCATE 15,19:PRINT"  moikegmoeg"

1580 LOCATE 15,20:PRINT"  npjlfhnpfh"

1590 GOSUB 3940

1600 GOTO 2040

1610 '

1620 '

1630 '

1640 REM PANTALLA 2

1650 '

1660 '

1670 '

1680 INTERVAL OFF:LOCATE 15,15:PRINT"  ik  ik  ik"

1690 LOCATE 15,16:PRINT"  jl  jl  jl"

1700 LOCATE 15,17:PRINT"  momomomomo"

1710 LOCATE 15,18:PRINT"  npnpnpnpnp"

1720 LOCATE 15,19:PRINT"  egegikmomo"

1730 LOCATE 15,20:PRINT"  fhfhjlnpnp"

1740 GOSUB 3940

1750 GOTO 2040

1760 '

1770 '

1780 REM PANTALLA 3

1790 '

1800 '

1810 '

1820 INTERVAL OFF:LOCATE 15,15:PRINT"egeg    ikik"

1830 LOCATE 15,16:PRINT"fhfh    jljl"

1840 LOCATE 15,17:PRINT"ikikmomoegeg"

1850 LOCATE 15,18:PRINT"jljlnpnpfhfh"

1860 LOCATE 15,19:PRINT"momoegikmoik"

1870 LOCATE 15,20:PRINT"npnpfhjlnpjl"

1880 GOSUB 3940

1890 GOTO 2040

1900 '

1910 '

1920 REM PANTALLA 4

1930 '

1940 '

1950 '

1960 INTERVAL OFF:LOCATE 15,15:PRINT"ik      ikeg"

1970 LOCATE 15,16:PRINT"jl      jlfh"

1980 LOCATE 15,17:PRINT"eg  egikegik"

1990 LOCATE 15,18:PRINT"fh  fhjlfhjl"

2000 LOCATE 15,19:PRINT"ikikegmoikmo"

2010 LOCATE 15,20:PRINT"jljlfhnpjlnp"

2020 GOSUB 3940

2030 GOTO 2040

2040 '

2050 '

2060 '

2070 REM PANTALLA 5

2080 '

2090 '

2100 '

2110 INTERVAL OFF:LOCATE 15,15:PRINT"    momo    "

2120 LOCATE 15,16:PRINT"    npnp    "

2130 LOCATE 15,17:PRINT"  ikegegik  "

2140 LOCATE 15,18:PRINT"  jlfhfhjl  "

2150 LOCATE 15,19:PRINT"egmoikikmoeg"

2160 LOCATE 15,20:PRINT"fhnpjljlnpfh"

2170 GOSUB 3940

2180 GOTO 2040

2190 '

2200 REM PANTALLA 6

2210 '

2220 INTERVAL OFF:LOCATE 15,15:PRINT"    moikmo  "

2230 LOCATE 15,16:PRINT"    npjlnp  "

2240 LOCATE 15,17:PRINT"ikegikikmoik"

2250 LOCATE 15,18:PRINT"jlfhjljlnpjl"

2260 LOCATE 15,19:PRINT"egmoikikmoeg"

2270 LOCATE 15,20:PRINT"fhnpjljlnpfh"

2280 GOSUB 3940

2290 GOTO 2040

2300 '

2310 '

2320 '

2330 '

2340 REM MOVIMENT

2350 '

2360 '

2370 '

2380 ON INTERVAL=60 GOSUB 4030

2390 INTERVAL ON

2400 D=STICK(0)+STICK(1):P=STRIG(0)+STRIG(1)

2410 IF H=15 THENPA=PA+1:GOTO 730

2420 IF T=0 THEN P=-1:H=H-1

2430 IF P=-1 THEN P=0:GOSUB 4060:GOSUB 4150:GOTO 2500

2440 PUT SPRITE 0,(X,Y-1),4,F

2450 IF D=1 AND Y>29 THEN FOR I=1 TO16:Y=Y-1:PUT SPRITE 0,(X,Y-1),4,F:NEXTI

2460 IF D=5 AND Y<143 THEN FOR I=1 TO 16:Y=Y+1:PUT SPRITE 0,(X,Y-1),4,F:NEXTI

2470 IF Y<115  EQV (L>2 IMP (Y+112<>200 AND Y+112<>168))THEN PUT SPRITE 1,(112+Y,104),15,5

2480 IF Y>115 OR (L>2 AND (Y+112=200 OR Y+112=168))THEN PUT SPRITE 1,(0,209)

2490 GOTO 2400

2500 '

2510 '

2520 '

2530 REM LANZADO

2540 '

2550 '

2560 '

2570 PUT SPRITE 0,(X,Y-1),4,F

2580 X=X+8:A=6144+X/8+Y*4

2590 IF VPEEK(A+2)<>32 THEN 2610

2600 GOTO 2570

2610 '

2620 '

2630 GOSUB 4230:IF VPEEK(A+2)<110 THEN 2690

2640 MM=Y

2650 PUT SPRITE 0,(X,Y-1),4,F

2660 Y=Y+8:A=6144+X/8+Y*4

2670 IF VPEEK(A+32)<>32 THEN 3360

2680 GOTO 2650

2690 '

2700 '

2710 '

2720 REM DIRECTO

2730 '

2740 PUT SPRITE 0,(X,Y-1),4,F

2750 C=0:IF VPEEK(A+2)=101 AND F=1 THENC=1

2760 IF VPEEK(A+2)=105 AND F=2 THENC=1

2770 IF VPEEK(A+2)=109 AND F=3 THENC=1

2780 IF F=0 THEN C=1

2790 IF C=0 THEN 3850

2800 '

2810 IF VPEEK(A+2)=120THEN 2830

2820 A=A+1:GOTO 2810

2830 YY=F:IF VPEEK(A)=101 THEN F=1

2840 IF VPEEK(A)=105 THEN F=2

2850 IF VPEEK(A)=109 THEN F=3

2860 X=32:GOSUB 4540:PUT SPRITE 0,(X,Y-1),4,F

2870 GOTO 2880

2880 '

2890 '

2900 '

2910 REM CAER

2920 '

2930 '

2940 '

2950 FOR I=6779 TO 6769 STEP -2

2960 IF VPEEK(I)=32 AND VPEEK(I-64)<>32 THEN GOSUB 3050

2970 NEXT I

2980 FOR I=6715 TO 6705 STEP -2

2990 IF VPEEK(I)=32 AND VPEEK(I-64)<>32 THEN GOSUB 3050

3000 NEXT I

3010 FOR I=6651 TO 6641 STEP -2

3020 IF VPEEK(I)=32 AND VPEEK(I-64)<>32 THEN GOSUB 3050

3030 NEXT I

3040 GOTO 2340

3050 '

3060 '

3070 '

3080  REM EXISTE CAIDA

3090 '

3100 '

3110 IF VPEEK(I+64)<>32 THEN 3250

3120 BEEP:PLAY"V15CC":BEEP

3130 VPOKE I+64,VPEEK(I-64)

3140 VPOKE I-64,32

3150 VPOKE I+65,VPEEK(I-63)

3160 VPOKE I-63,32

3170 VPOKE I+96,VPEEK(I-32)

3180 VPOKE I-32,32

3190 VPOKE I+97,VPEEK(I-31)

3200 VPOKE I-31,32

3210 RETURN

3220 '

3230 '

3240 '

3250 BEEP:PLAY"V15CC":BEEP

3260 VPOKE I,VPEEK(I-64)

3270 VPOKE I-64,32

3280 VPOKE I+1,VPEEK(I-63)

3290 VPOKE I-63,32

3300 VPOKE I+32,VPEEK(I-32)

3310 VPOKE I-32,32

3320 VPOKE I+33,VPEEK(I-31)

3330 VPOKE I-31,32

3340 RETURN

3350 '

3360 'DEFINE CUAL ES

3370 GOSUB 4230

3380 C=0:IF VPEEK(A+32)=101 AND F=1 THENC=1

3390 IF VPEEK(A+32)=105 AND F=2 THENC=1

3400 IF VPEEK(A+32)=109 AND F=3 THENC=1

3410 IF F=0 THEN C=1

3420 '

3430 IF C=0 THEN 3850

3440 IF VPEEK(A+32)<>32 AND VPEEK(A+32)<>101 AND VPEEK(A+32)<>105 AND VPEEK(A+32)<>109 THEN 3850

3450 '

3460 IF VPEEK(A+32)=32 THEN 3480

3470 A=A+32:GOTO 3460

3480 IF VPEEK(A-64)=101 THEN F=1

3490 IF VPEEK(A-64)=105 THEN F=2

3500 IF VPEEK(A-64)=109 THEN F=3

3510 IF VPEEK(A-96)=32 THEN F=0

3520 X=32:SWAP Y,MM:PUT SPRITE 0,(X,Y-1),4,F

3530 FOR I=1 TO 3:A=A-64

3540 VPOKE A,VPEEK(A-64)

3550 VPOKE A+1,VPEEK(A-63)

3560 VPOKE A+32,VPEEK(A-32)

3570 VPOKE A+33,VPEEK(A-31)

3580 NEXTI

3590 GOTO 2380

3600 DATA 127,128,174,157,187,183,174,157

3610 DATA 187,183,174,157,187,128,127,0

3620 DATA 252,2,234,218,186,114,234,218

3630 DATA 186,114,234,218,178,2,252,0

3640 DATA 127,255,255,255,240,247,244,244

3650 DATA 244,247,240,255,255,255,127,0

3660 DATA 252,254,254,254,30,222,94,94

3670 DATA 94,222,30,254,254,254,252,0

3680 DATA 127,255,255,255,252,251,244,244

3690 DATA 244,251,252,255,255,255,127,0

3700 DATA 252,254,254,254,126,190,94,94

3710 DATA 94,190,126,254,254,254,252,0

3720 DATA 127,255,255,255,254,253,251,247

3730 DATA 224,255,255,255,255,255,127,0

3740 DATA 252,254,254,254,254,126,190,222

3750 DATA 14,254,254,254,254,254,252,0

3760 '**

3770 DATA 0,119,69,71,85,117,0,0

3780 DATA 0,117,85,85,85,114,0,0

3790 DATA 0,87,116,86,84,87,0,0

3800 DATA 0,119,69,102,69,117,0,0

3810 '

3820 DATA 0,0,0,0,1,1,1,1,1,15,7,3,1,0,0,0,0,0,0,0,128,128,128,128,128,240,224,192,128,0,0,0

3830 DATA 195,126,195,126,195,126,195,0

3840 DATA 170,254,84,84,84,84,254,170

3850 '

3860 '

3870 '

3880 REM VIDA MENOS

3890 ''''''''''''''

3900 '

3910 '

3920 INTERVAL OFF:PLAY"o2v15efd"

3930 V=V-1

3940 GOSUB 4830:FOR I=0 TO15:PUT SPRITE I,(0,209):NEXT

3950 IF V=1 OR V=0 THEN 3990

3960 FOR I=1 TO V-1

3970 PUT SPRITE 2+I,(3,I*20),9,0

3980 NEXT I

3990 IF V=0 THEN 4010

4000 X=32:Y=104:F=0:GOSUB 4060:GOTO2350

4010 INTERVAL OFF:LOCATE 10,10:PRINT"GAME OVER"

4020 FOR I=1 TO 2000:NEXTI:CLEAR200:V=3:PA=1:X=32:H=0:Y=104:GOSUB 4060:GOTO 300

4030 T=T-1:LOCATE 15,1:PRINTT

4040 IF T=0 THEN INTERVAL OFF

4050 RETURN

4060 '

4070 '

4080 '

4090 E=E+T

4100 IF L=1 THEN T=8

4110 IF L=2 THEN T=5

4120 IF L=3 THEN T=5

4130 IF L=4 THEN T=3

4140 RETURN

4150 INTERVALOFF:H=H+1:LOCATE 23,1:PRINTH:INTERVALON:RETURN

4160 '

4170 ' vida extra

4180 '

4190 GOSUB 4830:INTERVAL OFF:V=V+1:PLAY"T255O4V15CCDC","T255V15O6CCDC"

4200 LOCATE  9,10:PRINT"VIDA  EXTRA"

4210 FOR I=1 TO 1000:NEXT I

4220 E=0:GOSUB 4770:RETURN

4230 PLAY"v15t255l64o8cf":SOUND 1,9:SOUND 8,15:SOUND  1,15:SOUND 4,34:SOUND  3,15:SOUND 1,85:SOUND 1,247:SOUND 4,90:SOUND 8,125:SOUND 2,100:SOUND 8,0:RETURN

4240 VDP(0)=2:VDP(3)=159:FOR A=48 TO 120:N=A*8:RESTORE 4240:FOR B=0 TO 7

4250 READ C

4260 VPOKE BASE(11)+N,C:N=N+1

4270 NEXT:NEXT

4280 DATA &H30,&H30,&H50,&h50,&H50,&H50,&H30,&H30

4290 '

4300 VDP(0)=2:VDP(3)=159:FOR A=219TO 220:N=A*8:RESTORE 4320:FOR B=0 TO 7

4310 READ C

4320 VPOKE BASE(11)+N,C:N=N+1

4330 NEXT:NEXT

4340 DATA &H44,&H44,&H24,&hf5,&HF6,&H27,&H48,&H42

4350 RETURN

4360 '***** CHANGEING LEVELS *****

4370 '

4380 GOSUB 4820:FOR J=1 TO 5

4390 FOR I=1 TO 100:NEXT I

4400 LOCATE 7,9:PRINT"L E V E L ";L

4410 BEEP:PLAY"V15F":BEEP:PLAY"V15F":BEEP

4420 FOR I=1 TO 100:NEXT I

4430 LOCATE 7,9:PRINTSPC(14)

4440 NEXT J

4450 FOR I=1 TO 500:NEXT I

4460 LOCATE 7,9:PRINTSPC(14)

4470 LOCATE24,5:PRINTPA;

4480 LOCATE 7,1:PRINTL

4490 IF L=3 THEN LOCATE 19,12:PRINT"":LOCATE 19,11:PRINT"":LOCATE 19,8:PRINT"":LOCATE 19,7:PRINT""

4500 IF L=2 THEN LOCATE 11,17:PRINT"":LOCATE 11,18:PRINT""

4510 IF L<>2 THEN LOCATE 11,17:PRINT"  ":LOCATE 11,18:PRINT"  "

4520 INTERVAL ON:GOSUB 4750:RETURN

4530 '

4540 '    ESPACIOS INTERM.

4550 '''''''''''''''''''''''''

4560 '

4570 A=A-10:NN=0:FOR I=1 TO 6

4580 IF VPEEK(A)<110 AND VPEEK(A)>100 THEN 4610

4590 A=A+2:NN=NN+1:NEXT I

4600 '

4610 '''''''''''''''''''''''''

4620 IF NN=5 THEN F=0:GOTO 4680

4630 FOR I=1 TO 5-NN:A=A+2

4640 IF VPEEK(A)=32 THEN F=YY:GOTO 4670

4650 NEXT I

4660 '

4670 '''''''''''''''''''''''''

4680 FOR I=1 TO 6-NN

4690 VPOKE A,VPEEK(A-2)

4700 VPOKE A+1,VPEEK(A-1)

4710 VPOKE A+32,VPEEK(A+30)

4720 VPOKE A+33,VPEEK(A+31)

4730 A=A-2:NEXT I:RETURN

4740 '

4750 ' DESCONECTAPANTALLA

4760 '

4770 DEFUSR=&H41

4780 A=USR(0)

4790 RETURN

4800 '

4810 ' CONECTAPANTALLA

4820 '

4830 DEFUSR=&H44

4840 A=USR(0)

4850 RETURN

