10REM +-------------------------+ 11REM ! Program.... WILDWEST.BAS 12REM ! version 85-01-01 13REM ! av Henrik ]shuvud 14REM ! Minne 16 Kbytes 15REM +-------------------------+ 20REM Ett aktions-spel i grafik 30REM med ljudeffekter f|r ABC80. 130;INP(3%);:REM 40 tkn 140RESTORE:GOTO1680 150L4%=3%:REM antal missar 160T%=S2%:REM hastighet 170REM 180RANDOMIZE 190P$="-,l||xy ":P1$='-,#s;"#, ' 200N$=" ep ":N1$=" *=!7!":N2$=" hk#! ":N3$=" ko ":N4$=" '#j0 " 210M$=" *p0 ":M1$=" o&j#":M2$=" 67# ":M3$=' "?e ':M4$=" u u " 220A$=" `d` `&dd`d pd0 0 08)08)00 08)0 ":B$='p&)! !)! (! #d& "&"dd&" & ""&" "dd':A$=A$+A$:B$=B$+B$ 230GOSUB1670 240A%=1%:E%=-50%:F%=34%:K%=-22%:K1%=7%:K2%=2%:L%=14%:M%=2%:Q%=70%:Q1%=1%:R%=47%:S%=46% 250;CHR$(12%):FORI%=1%TO24%:;:;CHR$(151%);:NEXTI% 260;CUR(0%,0%)U%CUR(0%,10%)L4% 268REM ryttarhuvud 270;CUR(10%,17%)"||"CUR(11%,16%)'"{1' 278REM ryttarkropp + h{st 280;CUR(12%,17%)"{wpx,`~0"CUR(13%,17%)"5 h}t"CUR(14%,13%)"x~|}||%#'"CUR(15%,12%)"z7" 284REM 285REM ###### MAIN-LOOP ##### 290GOSUB600 300GOSUB610 310GOSUB620 318REM h.ben raka 320;CUR(16%,11%)" ?o'#+/o% "CUR(17%,10%)' z%z7 " 'CUR(18%,11%)" k5  "CUR(19%,13%)"j5 " 330GOSUB580 340IFD6%>20%L4%=L4%-1%:FORI%=0%TO5000%:NEXTI%:D8%=0%:K3%=0%:D4%=0% 350IFD6%>20%ANDL4%=0%1680 360IFD6%>20%D6%=0%:GOTO160 370Z%=Z%+1%:IFZ%>110%ANDE%<-30%ANDK%<-10%ANDQ%>55%ANDD4%<>4%1950 380GOSUB610 390GOSUB620 400GOSUB610 410GOSUB620 418REM h.ben in}t 420;CUR(17%,12%)"(w `'"CUR(18%,13%)'"/}p /~% 'CUR(19%,13%)" # " 430D%=4% 440GOSUB580 450D%=4% 460GOSUB610 470GOSUB620 480GOSUB580 490GOSUB610 500GOSUB620 510GOSUB610 520GOSUB620 528REM h.ben ut}t 530;CUR(16%,11%)"`?o'#+/ou0"CUR(17%,10%)"x' z? ""+//}"CUR(18%,11%)"*m?! |'"CUR(19%,16%)" " 540GOSUB580 550GOSUB610 560GOSUB620 570GOTO290:REM ## END MAIN-LOOP ## 578REM ### RULLA BAKGRUND ### 580;CUR(1%,1%)MID$(A$,A%,39%)CUR(2%,1%)MID$(B$,A%,39%):A%=A%+1%:IFA%=40%A%=1% 590IFD%=4%D%=0%:RETURN 598REM ## TICK ## 600D%=0%:OUT6,0:OUT6,121:RETURN 608REM ### F\RDR\J ### 610FORI%=0%TOT%/4%:NEXTI%:RETURN 615REM 620REM ##### INPUT ##### 630IFD4%=4%1420 640IF(INP(56%)AND223%)=218%H1%=4%:REM "Z" 650IFH1%=4%890 660E%=E%+1%:IFE%>-20%GOSUB750 670IFD4%=4%;CUR(13%,21%)"h":GOTO690 680IFINP(56%)=173%R4%=4%:REM "-" 690IFR4%=4%1570 700K%=K%+1%:IFK%>1%960 710Q%=Q%-1%:IFQ%<38%1440 720REM 730IFD4%<>4%ANDH%>4%AND(NOTDOT(31%,34%)ORNOTDOT(31%,37%));CUR(10%,17%)"||" 740RETURN 748REM 750REM ### \RN ### 760IFE%=-10%T%=T%-250% 770IFE%=-10%ORE%=30%;CUR(4%,F%)"(n,"CUR(5%,F%-1%)" & "CUR(6%,F%)" " 780IFE%=-6%ORE%=27%;CUR(4%,F%)"<{ "CUR(5%,F%-1%)"y||v "CUR(6%,F%)"(?" 790IFE%<=0%ORE%>=26%800ELSE;CUR(4%,35%-E%)" "CUR(5%,32%-E%)"8|0 "; 795;CUR(6%,28%-E%)"p *kup||s "CUR(7%,28%-E%)",}|~/##, " 800IFE%>0%ANDE%<26%;CUR(8%,28%-E%)'# "#k$ 'CUR(9%,31%-E%)"`0' "CUR(10%,32%-E%)"&4 " 810IFE%=26%FORI%=6%TO10%:;CUR(I%,3%)" ":NEXTI%:F%=5% 820IFE%=15%ANDDOT(33%,35%)G%=4%:D4%=4%:;CUR(14%,17%)"||"CUR(13%,17%)" "CUR(12%,17%)" " 830IFG%=4%860 840IFE%<>34%850ELSE;CUR(4%,F%)" "CUR(5%,F%+1%)" ":F%=34%:E%=INT(RND*400%)*(-1%)-100%:T%=T%+250% 845U%=U%+100%:;CUR(0%,0%)U% 850RETURN 860;CUR(10%,27%-E%)" x805"CUR(11%,27%-E%)" o/'//#5 "CUR(12%,34%-E%)"# " 870IFE%=26%G%=0%:FORI%=10%TO12%:;CUR(I%,1%)" ":NEXTI% 880GOTO840 890REM ### HUKNING "Z" ### 900IFD8%=8%ANDH%>5%D8%=0%:GOSUB1400 910H%=H%+1%:IFH%>1%930 920;CUR(10%,17%)" "CUR(11%,16%)" x=0"CUR(12%,17%)" x6'$"CUR(13%,17%)'z?"d' 930IFH%=5%;CUR(10%,17%)"||"CUR(11%,16%)'"{1 'CUR(12%,17%)"{wpx,"CUR(13%,17%)"5 " 940IFH%=15%H1%=0%:H%=0% 950GOTO660 960REM 970IFK3%=4%1200 980IFK3%=5%1290 990IFK3%=6%1330 1000IFK2%=2%K2%=1%:GOTO1020 1010GOTO1090 1020IFK1%=1%1140 1030K1%=K1%-1% 1040IFK1%=6%T%=T%-250% 1050K%=K%-1% 1060;CUR(15%,K%)RIGHT$(N$,K1%)CUR(16%,K%)RIGHT$(N1$,K1%)CUR(17%,K%)RIGHT$(N2$,K1%) 1070;CUR(18%,K%)RIGHT$(N3$,K1%)CUR(19%,K%)RIGHT$(N4$,K1%) 1080GOTO710 1090K2%=2% 1100K%=K%-2% 1110;CUR(15%,K%+1%)RIGHT$(M$,K1%)CUR(16%,K%+1%)RIGHT$(M1$,K1%)CUR(17%,K%+1%)RIGHT$(M2$,K1%) 1120;CUR(18%,K%+1%)RIGHT$(M3$,K1%)CUR(19%,K%+1%)RIGHT$(M4$,K1%) 1130GOTO710 1140IFRND<.04THEN1150ELSE1060 1150IFE%=5%1170 1160IFE%<22%ANDE%>-11%1060 1170REM 1180FORI%=15%TO19%:;CUR(I%,2%)" ":NEXTI% 1190K3%=4% 1200REM 1210;CUR(L%,M%+4%)" *p0"CUR(L%+1%,M%)" `d#st/&"CUR(L%+2%,M%)" `ds/'#k" 1220IFM%=8%;CUR(11%,M%)" " 1230IFM%>7%1260 1240L%=L%-1% 1250;CUR(L%+4%,M%)" " 1260M%=M%+1%:IFM%=12%ANDDOT(33%,35%)D4%=4%:GOSUB1400 1270IFM%=24%K3%=5%:FORI%=8%TO10%:;CUR(I%,M%)" ":NEXTI%:M%=M%+3% 1280GOTO710 1290REM 1300;CUR(L%-1%,M%)" "CUR(L%,M%)'k"5'CUR(L%+1%,M%-1%)" j~ "CUR(L%+2%,M%-1%)"8cu,"CUR(L%+3%,M%)"*;" 1310L%=L%+1%:IFL%=19%K3%=6%:FORI%=18%TO21%:;CUR(I%,26%)" ":NEXTI%:P%=1%:M%=19% 1320GOTO710 1330REM 1340;CUR(21%,M%)RIGHT$(P$,P%)CUR(22%,M%)RIGHT$(P1$,P%) 1350M%=M%-1% 1360IFP%=9%K3%=0%:K%=INT(RND*200)*(-1%)-50%:M%=2%:L%=14%:K1%=7%:K2%=2%:U%=U%+100%:;CUR(0%,0%)U% 1370IFM%=0%P%=P%+1%:M%=1% 1380IFP%=8%T%=T%+250% 1390GOTO710 1400IFD8%=8%RETURN 1410;CUR(10%,17%)" "CUR(11%,16%)" "CUR(12%,13%)"`` p0 "CUR(13%,13%)"}=n|~0"CUR(14%,13%)"z~|}":RETURN 1420D6%=D6%+1% 1430GOTO650 1440REM 1450IFQ%<2%1530 1460IFQ%=37%T%=T%-150% 1470;CUR(20%,Q%)LEFT$(Q$,Q1%)CUR(21%,Q%)LEFT$(Q1$,Q1%)CUR(22%,Q%)LEFT$(Q2$,Q1%); 1480Q1%=Q1%+1%:IFQ1%=10%Q1%=9% 1490IFQ%=2%Q1%=1% 1500IFQ%=4%ANDNOTD5%=5%ANDD4%<>4%ANDH%>0%ANDH%<5%D8%=8% 1510IFNOT(Q%=4%ANDNOTD5%=5%ANDD4%<>4%)1520ELSED4%=4%:OUT6%,0%:OUT6%,137% 1515FORI%=0%TO600%:NEXTI%:D5%=0%:GOSUB1400 1520GOTO720 1530;CUR(20%,1%)RIGHT$(Q$,Q1%)CUR(21%,1%)RIGHT$(Q1$,Q1%)CUR(22%,1%)RIGHT$(Q2$,Q1%) 1540D5%=0% 1550Q1%=Q1%+1%:IFQ1%=10%Q%=INT(RND*150%)+46%:Q1%=1%:T%=T%+150%:GOSUB1670 1560GOTO720 1570REM ### SKOTT "-" ### 1580IFR%=47%;CUR(12%,20%)"80"CUR(13%,21%)"bz":OUT6%,0%:OUT6%,137% 1590IFR%=49%ANDD4%<>4%;CUR(12%,20%)"x,"CUR(13%,21%)"h" 1600SETDOTS%,R%:CLRDOTS%-2%,R%-1%:R%=R%+1%:S%=S%+2% 1610IFR%>55%ANDQ%>21%ANDDOT(66%,57%)1640 1620IFR%=57%R4%=0%:R%=47%:S%=46%:CLRDOT64%,56% 1630GOTO700 1640Q$="0 `,0` ":Q1$="3#{=}5 ":Q2$='## ",! ' 1650D5%=5%:U%=U%+150%:;CUR(0%,0%)U% 1660GOTO1620 1670Q$=" |d 8 ":Q1$='"upp{!b$ ':Q2$="<,.//#! ":RETURN 1677REM 1678REM ##### MENY o MUSIK ##### 1680;CHR$(12%);:A9$=STRING$(39%,42%):;A9$:;A9$ 1690FORI%=2%TO19%:;CUR(I%,0%)"**"CUR(I%,37%)"** ";:NEXTI% 1700;A9$:;A9$ 1710;CUR(12%,14%)"STYR MED:"CUR(14%,7%)"Z=HUKNING -=SKOTT"CUR(4%,14%)"WILD WEST" 1720;CUR(6%,8%)"RID \VER DEN AMERIKANSKA"CUR(8%,8%)"KONTINENTEN OCH \VERL[MNA" 1730;CUR(10%,4%)"ETT MEDDELANDE TILL PRESIDENTEN." 1740RESTORE 1750IFU%>U9%U9%=U% 1760;CUR(16%,10%)"DIN PO[NG "U%CUR(18%,10%)"HIGH SCORE"U9% 1770U%=0%:D6%=0%:Z%=0%:S2%=900% 1780FORI%=0%TO2000%:NEXTI% 1790IFINP(56%)<128%1790 1795POKE65013%,0% 1800READ[%,\%:IF[%=0%ORPEEK(65013%)150 1810FORX%=1%TO[%:OUT6%,0%,6%,121%:FORI%=1%TO\%/2%:NEXTI%:NEXTX% 1820;CHR$(13%):GOTO1800 1830DATA30,64,15,64,15,64 1840DATA30,64,15,64,15,64 1850DATA30,64,15,64,15,64 1860DATA30,64,15,64,15,64 1870DATA50,46,100,35 1880DATA30,64,15,64,15,64 1890DATA30,64,15,64,15,64 1900DATA30,64,15,64,15,64 1910DATA30,64,15,64,15,64 1920DATA30,64,30,64,40,56,50,49,120,46,0,0 1922REM # end meny # 1923REM 1930DATA"El Paso",850,"Houston",775,"Dallas",700,"Memphis",650,"Nashville",600,"Cincinnati",550,"Pittsburgh",500 1940DATA"Washington",0 1950REM 1960RANDOMIZE:W2%=INT(RND*8%)+2% 1970Z%=0% 1980READS$,S2% 1990T%=S2% 2000;CUR(0%,27%)S$:FORI%=0%TO8000%:NEXTI%:IFT%<>0%2010 2005;CHR$(12%)CUR(10%,4%)"Uppdraget slutf|rt,GRATTIS!!":END 2010GOTO2410 2020W%=13%:V%=21% 2030;CUR(12%,W%+3%)"zu "CUR(13%,W%+3%)"n~5 "CUR(14%,W%)'"+,,4 'CUR(15%,W%+4%)"5 "CUR(16%,W%+2%)"j#!5 " 2040;CUR(17%,W%+2%)"# `5 " 2050;CUR(12%,V%-1%)" dzu8"CUR(13%,V%)" j}="CUR(14%,V%)" h,,'!"CUR(15%,V%)" j"CUR(16%,V%)' j"#5' 2060;CUR(17%,V%-1%)" j0 #" 2070FORI%=0%TO1000%:IFINP(56%)=173%GOSUB2370 2080NEXTI% 2090;CUR(12%,W%+2%)"`0 "CUR(13%,W%+2%)"(} "CUR(14%,W%)'#-,n} 'CUR(15%,W%+3%)"j "CUR(16%,W%+2%)" jk " 2100;CUR(17%,W%+2%)' z"#% ' 2110;CUR(12%,V%-1%)" (pp$"CUR(13%,V%+1%)" ~$"CUR(14%,V%+1%)" ~=,.#"CUR(15%,V%+1%)" 5"CUR(16%,V%+1%)' 55 ' 2120;CUR(17%,V%-1%)" *#!u " 2130FORI%=0%TO1000%:IFINP(56%)=173%GOSUB2370 2140NEXTI% 2150W%=W%-1%:V%=V%+1%:IFW%=W2%2170 2160GOTO2030 2170;CUR(12%,W%)" || "CUR(13%,W%)'"{1 'CUR(14%,W%)" {wpx,"CUR(15%,W%)" 5 "CUR(16%,W%)" /=4 " 2180;CUR(17%,W%)"<,%u " 2190;CUR(12%,V%-2%)"0h|4` "CUR(13%,V%-2%)'"{{7! 'CUR(14%,V%-4%)"(lpr1 "CUR(15%,V%)"5 " 2200;CUR(16%,V%-1%)"4%2310 2250OUT6%,0%,6%,137% 2260FORI1%=V%*2%-11%TOW%*2%+12%STEP-1%:SETDOT43%,I1%:FORI%=0%TO60%:NEXTI%:CLRDOT43%,I1% 2265NEXTI1% 2270FORI%=12%TO14%:;CUR(I%,W%)" ":NEXTI% 2280;CUR(15%,W%)' 00 "5'CUR(16%,W%)"w|||5"CUR(17%,W%)"#'#*ss!" 2290I4%=0%:L4%=L4%-1% 2300GOTO2350 2310OUT6%,0%,6%,137% 2320FORI1%=W%*2%+12%TOV%*2%-9%:SETDOT43%,I1%:FORI%=0%TO60%:NEXTI%:CLRDOT43%,I1%:NEXTI1% 2330FORI%=12%TO14%:;CUR(I%,V%-4%)" ":NEXTI% 2340;CUR(15%,V%-5%)"0 `h!"CUR(16%,V%-7%)'"&"l|||{'CUR(17%,V%-7%)"*,,&ss%#k#" 2350FORI%=0%TO8000%:NEXTI%:IFL4%=0%1680 2360GOTO180 2370IFI4%=4%RETURN 2380OUT6%,0%,6%,137%:I4%=4% 2390FORI1%=W%*2%-3%TO3%STEP-1%:SETDOT42%,I1%:FORI2%=0%TO40%:NEXTI2%:CLRDOT42%,I1%:NEXTI1% 2400RETURN 2410;CHR$(12%):FORI%=1%TO24%:;:;CHR$(151%);:NEXTI% 2420FORI%=15%TO34%:SETDOTI%,12%:SETDOTI%,59%:NEXTI% 2430;CUR(1%,16%)"`p,,d"CUR(2%,12%)"`p,#! #,p"CUR(3%,9%)"p,#! SALOON #,p0" 2440;CUR(4%,6%)'`|sppppppppppppppppppryt'CUR(7%,11%)"<,l 7####5 <,l"CUR(8%,11%)"upz =,4<,5 upz" 2450;CUR(9%,16%)"ws5ws5"CUR(10%,16%)"=,%-,5"CUR(11%,6%)"-,,,,,,,,,% -,,,,,,,." 2460IF\6%=6%\6%=0%:GOTO2020 2470\6%=6%:FORI%=0%TO14000%:NEXTI% 2480RANDOMIZE:REM 2490;CHR$(12%):FORI%=1%TO24%:;:;CHR$(151%);:NEXTI% 2500;CUR(6%,12%)"` ` ` `,,,,p"CUR(7%,3%)"8,,,,0`ppuuup00h|4` `e 5" 2510;CUR(8%,2%)'j j `p0 "{{7! ! ),,,,!'CUR(9%,2%)'",,,,,!) n?= bq 8!' 2520;CUR(10%,11%)"*' 85j 555 5"CUR(11%,9%)"ppzsssr}~ppqu1 5"CUR(12%,11%)"jp0 5 5" 2530;CUR(13%,11%)'#7!5 "k# upp5'CUR(14%,12%)"5 - j 5`&up"CUR(15%,12%)"5 j =a&" 2540;CUR(16%,10%)'"#"# #!#! }q' 2550FORI%=0%TO10000%:NEXTI% 2560IFI7%=7%I7%=0%:GOTO2600 2570;CUR(8%,11%)"pp0"CUR(9%,9%)"00pp5"CUR(10%,8%)"w|24 "CUR(11%,8%)"#'#jpppppp" 2580FORI%=0%TO10000%:NEXTI% 2590I7%=7%:GOTO2480 2600IFRND>.5THEN2650 2610FORI%=1%TO19%:;CUR(8%,3%)MID$(" VILKET R[VGIFT ",I%,5%):FORI1%=0%TO800%:NEXTI1%:NEXTI% 2620FORI%=1%TO31%:;CUR(7%,28%)MID$(" HUR V]GAR DU F\ROL[MPA MIG ",I%,5%) 2625FORI1%=0%TO800%:NEXTI1% 2630NEXTI% 2640GOTO2670 2650FORI%=1%TO24%:;CUR(7%,28%)MID$(" DET BLIR TV] DOLLAR ",I%,5%):FORI1%=0%TO800%:NEXTI1% 2655NEXTI% 2660FORI%=1%TO28%:;CUR(8%,3%)MID$(" MEN JAG HAR INGA PENGAR ",I%,5%):FORI1%=0%TO800%:NEXTI1% 2665NEXTI% 2670FORI%=1%TO32%:;CUR(7%,28%)MID$(" VI G\R UPP OM SAKEN UTOMHUS ",I%,5%):FORI1%=0%TO800% 2675NEXTI1%:NEXTI% 2680FORI%=1%TO12%:;CUR(8%,3%)MID$(" OKAY ",I%,5%):FORI1%=0%TO800%:NEXTI1%:NEXTI% 2690GOTO2410