1 REM Ins{nd av Lennart Einarsson <6554> 1986-06-07 02.21.27 10 REM 20 REM ********************* 30 REM * * 40 REM * S T A R S H O T * 50 REM * * 60 REM * -ETT PROGRAM F\R * 70 REM * DEN SOM TYCKER * 80 REM * DET [R KUL ATT * 90 REM * SPELA * The mad 100 REM * "SHOOTING STARS" * programmer 110 REM * (OCH VEM G\R * strikes 120 REM * INTE DET ?!) * again ! 130 REM * * 140 REM ********************* 150 REM * PER LINDBERG 1979 * 160 REM ********************* 170 REM 180 DIM M%(3%,3%),M1%(3%,3%),M$(18%)=6% 190 GOSUB 2700 : REM VINJETT 200 ; CUR(10%,0%); 210 ; "\NSKAS REGLER";SPACE$(27%); 220 ; CUR(10%,14%); : INPUT S$ 230 IF S$="" THEN 200 240 S$=LEFT$(S$,1%) 250 IF S$="N" THEN 680 260 IF S$="J" THEN 280 ELSE 200 270 REM  INSTRUKTIONER  280 ; CHR$(12%); 290 ; " STARSHOT SPELAS I EN GALAX SOM BEST]R" 300 ; "AV 3x3 RUTOR. DESSA KAN ANTINGEN" 310 ; "INNEH]LLA EN STJ[RNA (*), ELLER ETT" 320 ; "SVART H]L (syns inte)." 330 ; " SPELET G]R UT P] ATT F\R[NDRA ETT" 340 ; "M\NSTER AV STJ[RNOR. DET G\R MAN GENOM" 350 ; "ATT SKJUTA P] EN VALFRI STJ[RNA." 360 ; " VARJE G]NG MAN SKJUTER, F\R[NDRAS" 370 ; "ALLTING INVID STJ[RNAN. STJ[RNORNA BLIR" 380 ; "SVARTA H]L, OCH ALLA SVARTA H]L BLIR" 390 ; "STJ[RNOR. S] H[R R[KNAS EN STJ[RNAS" 400 ; "OMGIVNING (S= SKOTTET) :" 410 ; 420 ; "S * - * S * - * - VINNANDE" 430 ; "* * - - - - * S * * * *" 440 ; "- - - - - - - * - * - *" 450 ; " * * *" 460 ; "(H\RN) (KANT) (MITTEN) ST[LLNIG" 470 FOR I%=14% TO 16% 480 ; CUR(I%,31%);CHR$(135%); 490 ; CUR(I%,38%);CHR$(23%); 500 NEXT I% 510 FOR I%=12% TO 18% 520 ; CUR(I%,29%);CHR$(23%); 530 NEXT I% 540 FOR I%=36% TO 55% 550 SETDOT I%,60% : SETDOT I%,79% 560 NEXT I% 570 FOR I%=61% TO 78% 580 SETDOT 36%,I% : SETDOT 55%,I% 590 NEXT I% 600 ; 610 ; "MAN KAN ENDAST SKJUTA P] STJ[RNOR, INTE" 620 ; "P] SVARTA H]L. S] OM MAN INTE HAR N]GRA" 630 ; "STJ[RNOR KVAR, F\RLORAR MAN !" 640 ; 650 ; "(Tryck p} return n{r du l{st klart) "; 660 INPUTLINE A$ 670 REM  RITA SPELBR[DE  680 GOSUB 2700 : REM VINJETT 690 FOR I%=6% TO 16% 700 ; CUR(I%,11%);CHR$(23%); 710 ; CUR(I%,28%);CHR$(135%); 720 NEXT I% 730 FOR I%=18% TO 48% STEP 10% 740 FOR J%=25% TO 55% 750 SETDOT I%,J% 760 NEXT J% : NEXT I% 770 FOR J%=25% TO 55% STEP 10% 780 FOR I%=18% TO 48% 790 SETDOT I%,J% 800 NEXT I% : NEXT J% 810 FOR I%=10% TO 29% STEP 19% 820 ; CUR(7%,I%);"1"; 830 ; CUR(11%,I%);"2"; 840 ; CUR(14%,I%);"3"; 850 NEXT I% 860 FOR I%=4% TO 17% STEP 13% 870 ; CUR(I%,15%);"A B C"; 880 NEXT I% 890 FOR I%=0% TO 2% 900 ; CUR(I%,6%);CHR$(23%); 910 NEXT I% 920 M$(15%)="DINA" 930 M$(16%)="DRAG:" 940 M$(17%)="_____" : M$(18%)=" " 950 REM  INITIERA  960 FOR I%=1% TO 3% 970 FOR J%=1% TO 3% 980 M%(I%,J%)=1% : M1%(I%,J%)=1% 990 NEXT J% 1000 NEXT I% 1010 M1%(2%,2%)=-1% : REM TRUE ELSE FALSE 1020 N1%=0% 1030 REM  1040 REM  H[R B\RJAR HUVUDLOOOPEN  1050 REM  1060 REM ***** UPPDATERA DISPLAY ***** 1070 FOR I%=1% TO 3% 1080 FOR J%=1% TO 3% 1090 IF M%(I%,J%)=M1%(I%,J%) THEN 1290 1100 IF M1%(I%,J%)=1% THEN 1110 ELSE 1170 1110 FOR Y%=10%+10%*I% TO 16%+10%*I% 1120 FOR X%=17%+10%*J% TO 24%+10%*J% 1130 CLRDOT Y%,X% 1140 NEXT X% 1150 NEXT Y% 1160 GOTO 1290 1170 Y%=13%+10%*I% : X%=20%+10%*J% 1180 SETDOT Y%,X% 1190 FOR R%=1% TO 3% 1200 SETDOT Y%-R%,X%-R% 1210 SETDOT Y%-R%,X% 1220 SETDOT Y%-R%,X%+R% 1230 SETDOT Y%,X%-R% 1240 SETDOT Y%,X%+R% 1250 SETDOT Y%+R%,X%-R% 1260 SETDOT Y%+R%,X% 1270 SETDOT Y%+R%,X%+R% 1280 NEXT R% 1290 M%(I%,J%)=M1%(I%,J%) 1300 NEXT J% 1310 NEXT I% 1320 GOSUB 2570 : REM SCROLLA LISTAN 1330 ; CUR(0%,0%);N1% 1340 ; "F\RS\K" 1350 REM **** KOLLA VINST EL. F\RLUST 1360 S%=0% : F%=0% 1370 FOR I%=1% TO 3% 1380 FOR J%=1% TO 3% 1390 IF M%(I%,J%)=-1% THEN F%=-1% 1400 IF M%(I%,J%)=-1% THEN S%=S%+1% 1410 NEXT J% 1420 NEXT I% 1430 IF F%=-1% THEN 1450 1440 GOTO 2330 : REM DU F\RLORAR >FNISS< 1450 IF S%=8% AND M%(2%,2%)=1% THEN 2190 1460 REM *>>>> SPELET FORTS[TTER... 1470 N1%=N1%+1% 1480 FOR I%=20% TO 22% 1490 ; CUR(I%,8%);SPACE$(32%); 1500 NEXT I% 1510 ; CUR(22%,8%);"VAR SKJUTER DU "; 1520 ; SPACE$(16%);CUR(22%,24%); 1530 INPUT S$ 1540 IF LEN(S$)=0% THEN 1510 1550 IF LEN(S$)=2% THEN 1600 1560 ; CHR$(7%);CUR(20%,8%); 1570 ; "FEL, GE EN BOKSTAV OCH EN SIFFRA"; 1580 ; CUR(21%,8%);"-F\RS\K IGEN !"; 1590 ; SPACE$(18%); : GOTO 1510 1600 S1$=LEFT$(S$,1%) 1610 S2$=MID$(S$,2%,1%) 1620 IF ASC(S1$)>67% OR ASC(S1$)<65% OR ASC(S2$)>51% OR ASC(S2$)<49% THEN 1560 1630 X%=ASC(S1$)-64% 1640 Y%=ASC(S2$)-48% 1650 IF M%(Y%,X%)=-1% THEN 1700 1660 ; CHR$(7%);CUR(20%,8%); 1670 ; "DU KAN BARA SKJUTA P] STJ[RNOR " 1680 ; CUR(21%,8%);"-INTE SVARTA H]L ! F\RS\K IGEN.."; 1690 GOTO 1510 1700 N%=X%+3%*(Y%-1%) 1710 ON N% GOSUB 1750,1800,1840,1890,1930,1990,2030,2080,2120 : REM [NDRA 1720 GOTO 1070 1730 REM  SLUT MAIN LOOOOP  1740 REM  [NDRA BER\RDA SJ[RNOR  1750 FOR I%=1% TO 2% 1760 FOR J%=1% TO 2% 1770 M1%(I%,J%)=-M1%(I%,J%) 1780 NEXT J% : NEXT I% 1790 RETURN 1800 FOR J%=1% TO 3% 1810 M1%(1%,J%)=-M1%(1%,J%) 1820 NEXT J% 1830 RETURN 1840 FOR I%=1% TO 2% 1850 FOR J%=2% TO 3% 1860 M1%(I%,J%)=-M1%(I%,J%) 1870 NEXT J% : NEXT I% 1880 RETURN 1890 FOR I%=1% TO 3% 1900 M1%(I%,1%)=-M1%(I%,1%) 1910 NEXT I% 1920 RETURN 1930 M1%(1%,2%)=-M1%(1%,2%) 1940 M1%(3%,2%)=-M1%(3%,2%) 1950 M1%(2%,2%)=-M1%(2%,2%) 1960 M1%(2%,1%)=-M1%(2%,1%) 1970 M1%(2%,3%)=-M1%(2%,3%) 1980 RETURN 1990 FOR I%=1% TO 3% 2000 M1%(I%,3%)=-M1%(I%,3%) 2010 NEXT I% 2020 RETURN 2030 FOR I%=2% TO 3% 2040 FOR J%=1% TO 2% 2050 M1%(I%,J%)=-M1%(I%,J%) 2060 NEXT J% : NEXT I% 2070 RETURN 2080 FOR J%=1% TO 3% 2090 M1%(3%,J%)=-M1%(3%,J%) 2100 NEXT J% 2110 RETURN 2120 FOR I%=2% TO 3% 2130 FOR J%=2% TO 3% 2140 M1%(I%,J%)=-M1%(I%,J%) 2150 NEXT J% : NEXT I% 2160 RETURN 2170 REM B2 B1 B3 A1 C3 B2 A3 B1 B3 B2=> 2180 REM  DU VANN !  2190 FOR I%=20% TO 22% 2200 ; CUR(I%,8%);SPACE$(31%); 2210 NEXT I% 2220 ; CHR$(7%); 2230 ; CUR(20%,8%); 2240 ; ""; 2250 ; CUR(21%,8%); 2260 ; " DU VANN !! (EFTER"; 2270 ; N1%;" DRAG.)"; 2280 ; CUR(21%,39%);""; 2290 ; CUR(22%,8%); 2300 ; ""; 2310 ; CUR(21%,0%); : END 2320 REM  DU F\RLORADE, HE,HE! 2330 FOR I%=20% TO 22% 2340 ; CUR(I%,8%);SPACE$(31%); 2350 NEXT I% 2360 ; CHR$(7%); 2370 ; CUR(20%,7%); 2380 ; "INGA STJ[RNOR KVAR ATT SKJUTA P]."; 2390 ; CUR(21%,8%); 2400 ; "DU F\RLORADE EFTER"; 2410 ; N1%;" DRAG !"; 2420 ; CUR(22%,8%); 2430 ; "-VILL DU F\RS\KA IGEN "; 2440 ; SPACE$(10%);CUR(22%,30%); 2450 INPUT S$ 2460 IF S$="" THEN 2440 2470 S$=LEFT$(S$,1%) 2480 IF S$="J" THEN 2520 2490 IF S$="N" THEN 2560 2500 ; CHR$(7%); 2510 GOTO 2420 2520 ; CUR(20%,7%);" " 2530 S$=SPACE$(7%) 2540 GOSUB 2570 2550 GOTO 960 : REM OMIGEN... 2560 ; CUR(21%,0%); : END 2570 IF N1%=0% THEN RETURN 2580 FOR I%=1% TO 17% 2590 M$(I%)=M$(I%+1%) 2600 NEXT I% 2610 M$=NUM$(N1%)+":"+S$ 2620 IF S$=SPACE$(7%) THEN M$=S$ 2630 M$(18%)=RIGHT$(M$,2%) 2640 ; CUR(3%,0%); 2650 FOR I%=1% TO 18% 2660 ; M$(I%) 2670 NEXT I% 2680 RETURN 2690 REM <***** RITA VINJETT *****> 2700 IF PEEK(590%)<>40% ; INP(3%) 2710 ; CHR$(12%); 2720 FOR I%=0% TO 2% 2730 ; CUR(I%,0%);CHR$(23%); 2740 NEXT I% 2750 FOR I%=24% TO 60% 2760 SETDOT 0%,I% : SETDOT 8%,I% 2770 NEXT I% 2780 FOR I%=1% TO 7% 2790 J%=ABS(4%-I%) 2800 SETDOT I%,20%+J% : SETDOT I%,64%-J% 2810 NEXT I% 2820 ; CUR(1%,12%);CHR$(135%); 2830 ; "*** STARSHOT ***";CHR$(23%); 2840 RETURN : REM <* VINJETT *>