100 !DEN 15/8-16-8-1984 AV LARS-AKE RAGNARSSON. IDE' NIKLAS INGMARSSON 110 !EXTENDED BASIC OCH JOYSTICK 120 GOTO 180 :: CALL CHAR :: CALL CLEAR :: CALL COINC :: CALL COLOR :: CALL DELSPRITE :: CALL DISTANCE :: CALL JOYST :: CALL KEY 130 CALL LOCATE :: CALL PATTERN :: CALL POSITION :: CALL SCREEN :: CALL SOUND :: CALL SPRITE :: CALL VCHAR :: CALL HCHAR :: CALL CHARSET 140 CALL MOTION :: CALL MAGNIFY :: CALL LOCATE 150 DATA 10,3,3,7,121 160 NAMN$,HI$,BOK,TR1,Q,BO2,DOD,BO,D,POS6,A,I,J,V,H,H1,AN,CH,X,Y,K,S,SKOTT,POS1,POS2,POS3,POS4,DIST,DIST1,PO,POS5,TR,HI 170 "*P- 180 CALL DELSPRITE(ALL):: CALL CLEAR :: CALL SCREEN(2):: CALL MAGNIFY(4) 190 A=0 200 FOR I=2 TO 8 :: CALL COLOR(I,8,1):: NEXT I 210 CH=96 :: POS3=86 220 CALL CHAR(96,"183C3E3E3F3F3F3D3D3D3C3C3C3C3C18183C3C3C3C3CBCBCFCFCFCFCFC7C7C18") 230 CALL CHAR(100,"183C3C3C3C3C3C3C3C3C3C3E1F1F0F03183C3C3C3C3C3C3C3C3C3C7CF8F8F0C0") 240 CALL CHAR(104,"070F0E1E1C3C383838383C1C1E0E0F07F0F8381800000000000000001838F8F0") 250 CALL CHAR(63,"3C4299A1A199423C") 260 FOR I=1 TO 3 :: CALL SPRITE(#I,CH,INT(RND*13+3),96,1,0,70) 270 CALL SOUND(-200,-5,0):: CALL POSITION(#I,POS1,POS2):: IF POS2>=POS3 THEN CALL MOTION(#I,0,0):: CALL LOCATE(#I,40,POS3) ELSE 270 280 CH=CH+4 :: POS3=POS3+24 290 NEXT I 300 DISPLAY AT(20,8):"? 1984 UNO" :: DISPLAY AT(14,7):"SKRIV DITT NAMN" 310 CALL HCHAR(17,15,45,3) 320 NAMN$="" 330 FOR I=1 TO 3 :: BOK=65 340 A=A+1 :: CALL JOYST(1,X,Y) :: CALL VCHAR(16,14+I,BOK) 350 FOR D=1 TO 10 :: NEXT D 360 IF X<0 THEN BOK=BOK-1 :: IF BOK>=64 THEN 370 ELSE BOK=93 370 IF X>0 THEN BOK=BOK+1 :: IF BOK<=93 THEN 380 ELSE BOK=65 380 CALL VCHAR(16,14+I,BOK) 390 IF A=139 THEN GOTO 180 400 CALL KEY(1,K,S) :: IF S=1 THEN 420 ! REV AV RED 410 GOTO 340 420 NAMN$=NAMN$&CHR$(BOK) 430 NEXT I 440 CALL SOUND(250,523,0):: CALL SOUND(125,392,0):: CALL SOUND(250,370,0):: CALL SOUND(125,392,0):: CALL SOUND(350,415,0) 450 CALL SOUND(550,392,0):: CALL SOUND(250,494,0):: CALL SOUND(250,523,0) 460 CALL CLEAR :: CALL DELSPRITE(ALL) 470 CALL CHAR(96,"0001012111090101FF010109112101010000000810200000FE0000201008") 480 CALL CHAR(100,"000000000005030707030500000000000000000000A0C0E0E0C0A0") 490 CALL CHAR(104,"0107030101030303030707070703010080E0C08080C0C0C0C0E0E0E0E0C08000") 500 CALL CHAR(120,"FFFFC3C3C3C3FFFFABD5ABD5ABD5ABD5") 510 CALL CHAR(128,"FF9999FFFF9999FF",136,"FFB9AFE9BFA9EFFF") 520 CALL CHAR(116,"000306071F7F3F7F1F3F4F1F260200004048B0FCF9FEF8FEF8F0FCF0E0380000") 530 CALL CHAR(108,"00000303030307070707373F7F7FFFFF000080808080C0C0C0C0D8F8FCFCFEFE") 540 CALL CHAR(40,"18187E7E18181818",41,"1C08081C1C1C1C08") 550 CALL CLEAR :: CALL SCREEN(2) :: RANDOMIZE :: CALL MAGNIFY(3) 560 A=1 :: BO=0 :: DOD=0 580 CALL HCHAR(15,1,112,96):: CALL HCHAR(18,1,104,96) :: CALL HCHAR(21,1,96,128) 590 DATA 12,13,21,5,121,9,26,26,8,121,9,1,1,10,136,8,23,24,11,136 600 RESTORE 150 610 DATA 7,5,6,14,128,10,10,11,11,128,18,12,13,3,128,10,14,16,11,128,10,28,29,11,128 620 DATA 5,7,9,18,120,7,31,32,16,120 630 FOR I=1 TO 12 :: READ V,H,H1,AN,CH 640 FOR J=H TO H1 :: CALL VCHAR(V,J,CH,AN)::NEXT J :: NEXT I 650 FOR I=5 TO 8 :: CALL COLOR(I,16,8)::NEXT I 660 DISPLAY AT(5,12)BEEP:"ALPA-LOCK" 670 CALL COLOR(2,16,8,3,1,16,4,1,16,9,4,4,10,3,3,11,13,13,12,2,16,13,2,12,14,2,10) 680 CALL SCREEN(6) 690 DISPLAY AT(1,24):HI$ :: DISPLAY AT(1,8):NAMN$ :: DISPLAY AT(3,2):"POINTS" :: DISPLAY AT(1,15):"HI-SCORE" 700 DISPLAY AT(3,16):HI 710 DISPLAY AT(3,8)SIZE(6):PO :: IF PO> HI THEN DISPLAY AT(3,16)SIZE(6):PO 720 CALL HCHAR(24,3,41,BO) 730 FOR I=1 TO 100 :: NEXT I :: DISPLAY AT(5,12) 740 CALL SPRITE(#1,96,16,96,128,#4,108,2,174,128) 750 A=A+.1 :: CALL SPRITE(#2,104,16,1,INT(RND*125*2+3),A*INT(RND*-3+5),A*INT(RND*6-3)) 760 CALL KEY(1,K,S):: IF K=18 AND SKOTT=0 THEN 770 ELSE 800 770 CALL SPRITE(#3,100,2,176,128):: SKOTT=1 :: CALL POSITION(#1,POS1,POS2,#3,POS3,POS4):: CALL DISTANCE(#3,#1,DIST):: DIST1=SQR(DIST) 780 CALL MOTION(#3,(POS1-POS3)/DIST1*20,(POS2-POS4)/DIST1*20) 790 FOR I=0 TO 30 STEP 10 :: CALL SOUND(-150,-6,I)::NEXT I 800 IF POS4>240 OR POS4<10 THEN CALL DELSPRITE(#3) :: SKOTT=0 810 GOSUB 900 :: IF SKOTT=0 THEN 820 ELSE CALL COINC(#3,#2,6,TR) :: IF TR THEN 850 820 CALL POSITION(#3,POS3,POS4):: IF POS3>190 OR POS4<10 OR POS4>240 THEN CALL DELSPRITE(#3)::SKOTT=0 830 PO=PO+10 :: CALL POSITION(#2,POS5,POS6):: IF POS5>165 THEN 910 840 GOSUB 900 :: IF SKOTT=0 THEN 880 ELSE CALL COINC(#3,#2,6,TR) :: IF TR THEN 850 ELSE 880 850 CALL DELSPRITE(#3):: BO=BO+1 :: SKOTT=0 :: CALL HCHAR(24,2,41,BO) 860 CALL COLOR(#2,12) :: CALL PATTERN(#2,116) :: FOR I=10 TO 0 STEP -2 :: CALL SOUND(-100,-7,I) :: NEXT I :: CALL DELSPRITE(#2) 870 CALL DISTANCE(#2,166,128,D) :: PO=PO+10*INT(10000/SQR(D)) :: FOR I=0 TO 30 STEP 6 :: CALL SOUND(-400,-7,I)::NEXT I :: GOTO 750 880 DISPLAY AT(3,8)SIZE(6):PO :: IF PO>HI THEN DISPLAY AT(3,16)SIZE(6):PO :: IF SKOTT=0 THEN 760 ELSE CALL COINC(#3,#2,6,TR) :: IF TR THEN 850 890 GOTO 760 900 CALL JOYST(1,X,Y) :: CALL MOTION(#1,-Y*5,X*5) :: RETURN 910 CALL DELSPRITE(ALL) :: FOR I=6 TO 12 :: FOR J=2 TO 14 :: CALL COLOR(J,I,I) :: CALL SCREEN(I-1) :: NEXT J :: CALL SOUND(-1500,-7,0):: NEXT I 920 CALL SCREEN(12) :: FOR I=0 TO 30 :: CALL SOUND(-500,-7,I) :: NEXT I :: DOD=DOD+1 :: IF DOD>3 THEN 940 930 CALL HCHAR(1,2,40,DOD):: GOTO 580 940 CALL CLEAR :: CALL DELSPRITE(ALL) :: FOR I=2 TO 8 :: CALL COLOR(I,16,8) :: NEXT I :: CALL SCREEN(6) :: IF PO950 CALL SOUND(125,262,0) :: CALL SOUND(125,262,0) :: CALL SOUND(250,262,0) :: CALL SOUND(250,330,0) :: CALL SOUND(250,392,0) 960 CALL SOUND(500,523,0,392,0,330,0) 970 DISPLAY AT(4,11):"GRATTIS ";NAMN$ :: DISPLAY AT(6,13):"DU SLOG" :: DISPLAY AT(8,13):"HI-SCORE" 980 DISPLAY AT(10,13)SIZE(10):"MED ";PO-HI :: DISPLAY AT(10,24):"POANG" 990 HI=PO :: HI$=NAMN$ 1000 DISPLAY AT(12,1):"DU FICK ";PO;"POANG" :: DISPLAY AT(14,1):"HI-SCORE= ";HI;"INNEHAS AV ";HI$ 1010 PO=0 :: DISPLAY AT(22,5):"TRYCK KNAPP OM DU VILL SPELA IGEN" 1020 FOR I=200 TO 1 STEP -1 :: DISPLAY AT(1,3):INT(I/10):: CALL KEY(1,K,S) :: IF K<>-1 THEN 550 1030 NEXT I 1040 GOTO 180