PCjs Machines

Home of the original IBM PC emulator for browsers.

Logo

Challenger 1P BASIC Programs

SEAWOLFE.BAS

OSI Challenger 1P

Challenger 1P
Speed:
Stopped

Listing

[From OSIweb]

 10 PRINT"SEAWOLFE
 20 PRINT"COPYRYGHT 1978 BY RODGER OLSEN
 30 INPUT"DO YOU WANT INSTRUCTIONS";A$:IFA$="YES"THEN700 
 40 IFA$<>"NO"THEN30
 50 GP=53247:GI=3:LC=64:W=32:K1=5:K2=3:K3=65:K4=33:P=1
 60 VB=600:IFPEEK(57088)<129THENVB=540:GOTO90
 70 IFVB<>600THEN60 
 80 P=254:LC=32
 90 G1=INT(GP+26*LC+.5*W):T=G1+1:T2=T:MP=GP+21*LC
 100 FORX=1TO5:READG(X),ID(X):D(X)=ID(X):NEXT
 110 S1=GP+15*LC:S3=GP+11*LC+W:S(1)=S1:S(2)=S1+1:S(3)=S3:S(4)=S3-1
 120 INPUT"REGULAR(1) OR MASTER'S (2) GAME";G:POKE530,1:POKE57088,P
 130 MN=MP:POKE56900,0:SD=GP+6*LC+8:S5=GP+7*LC+W+6:S(5)=S5:FM=-2
 140 FORX=1TO32:PRINT:NEXT:FORX=1TO32:POKEGP+3*LX+X,233
 150 POKEGP+29*LC+X,233
 160 IFVB=540THENPOKEGP+X*LC,233:POKEGP+32+X*LC,233
 170 POKEGP+X+13*LC,191:POKEGP+X+32*LC,233:NEXT
 180 POKEGP+14*LC+20,193:POKEGP+14*LC+21,193:POKEGP+13*LC+21,13
 190 P=PEEK(57088):IFVB=600THENP=255-P
 200 IFP=K1ANDGI<5THENGI=GI+1
 210 TURN=TURN+1:IFTURNS>300THEN660 
 220 IFP=K2ANDGI>1THENGI=GI-1
 230 S$=STR$(300-TU)
 240 FORX=2TOLEN(S$):POKESD+10+X,ASC(MID$(S$,X,1))
 250 NEXT
 260 POKESD+10+X,32
 270 POKEG1,G(GI):POKEG1+2,G(GI)
 280 IFP=K3ANDT=G1+1THENPOKET,32:MF=2*LC-3+GI:T=T-MF:POKET,16:GOTO300
 290 IFP=K3ANDT2=G1+1THENPOKET2,32:M2=2*LC-3+GI:T2=T2-M2:POKET2,16
 300 IFP=K4THENPOKE530,0:POKE56900,1:GOTO120
 310 IFG=1THENFORX=1TO75:NEXT
 320 POKES(1),32:POKES(3),32:POKES(5),32:S(1)=S(1)+1:S(5)=S(5)+FM
 330 IFS(1)=S1+WTHENS(1)=S1:D(1)=ID(1):D(2)=ID(2)
 340 S(2)=S(1)+1:S(3)=S(3)-1
 350 IFS(3)=S3-WTHENS(3)=S3:D(3)=ID(3):D(4)=ID(4)
 360 MC=MC+1:IFMC=5THENMC=1:GOSUB510
 370 IFS(5)=S5ORS(5)=(S5-W-6)THENFM=-FM:D(5)=ID(5)
 380 S(4)=S(3)-1:FORX=1TO5:POKES(X),D(X):NEXT
 390 IFT=G1+1THENFORX=1TO50:NEXT:GOTO450
 400 P=PEEK(T-LC):IFP<10THENGOSUB550 :GOTO450
 410 IFG=1THENP=PEEK(T-LC-1):IFP<10THENGOSUB550 
 420 IFP=127THENGOSUB550 :GOTO450
 430 IFT<GP+3*LCTHENPOKET,32:T=G1+1:POKET,16:GOTO450
 440 POKET,32:T=T-MF:POKET,29
 450 IFT2=G1+1THENFORX=1TO50:NEXT:GOTO190
 460 P=PEEK(T2-LC):IFP<10THENGOSUB560 :GOTO190
 470 IFG=1THENP=PEEK(T2-LC-1):IFP<10THENGOSUB560 :GOTO450
 480 IFP=127THENGOSUB560 :GOTO190
 490 IFT2<GP+3*LCTHENPOKET2,32:T2=G1+1:POKET2,16:GOTO190
 500 POKET2,32:T2=T2-M2:POKET2,29:GOTO190
 510 POKEMN,32:POKEMN+8,32:POKEMN+16,32:MN=MN+1
 520 IFMN=MP+W+8THENMN=MP
 530 POKEMN,127:IFSC>10THENPOKEMN+8,127:IFSC>30THENPOKEMN+16,127:RETURN
 540 RETURN
 550 POKET,32:Q=T-LC-3:T=G1+1:POKET,16:GOTO570 
 560 POKET2,32:Q=T2-LC-3:T2=G1+1:POKET2,16
 570 D=42
 580 FORX=1TO5:POKEQ+X,D:NEXT:IFD=42THEND=32:GOTO580 
 590 IFP=7ORP=8THEND(1)=32:D(2)=32
 600 IFP=5ORP=6THEND(3)=32:D(4)=32
 610 IFP=4THEND(5)=32:SC=SC+5
 620 IFP=127THENRETURN
 630 SC=SC+1:POKEG1+1,16:PS=SC:OS=0
 640 IFSC>9THENOS=INT(SC/10):PS=(SC-10*OS)
 650 POKESD,OS+48:POKESD+1,PS+48:POKESD+2,48:POKESD+3,48:RETURN
 660 PRINT"FINAL SCORE "SC*100:A$="DROWNER'":IFSC>9THENA$="AMATEURS"
 670 IFSC>15THENA$="MASTERS":IFSC>20THENA$="CAPTAIN'S"
 680 IFSC>25THENA$="COMMODORE'S":IFSC>30THENA$="ADMIRALS"
 690 PRINT"YOU EARNED YOUR "A$ "STRIPES":SC=0:TU=0:GOTO120
 700 PRINT:PRINT:PRINT:PRINT"THE LEFT SHIFT AIMS THE TUBE TO THE LEFT
 710 PRINT"THE RIGHT SHIFT AIMS THE TUBE RIGHT
 720 PRINT"THE CTRL KEY FIRES A TORPEDOE-YOU CAN FIRE 
 730 PRINT"UP TOO 2 TORPEDOES AT A TIME
 740 PRINT"THE SMALL SHIP IS 500 POINTS":PRINT"ALL OTHER SHIPS ARE 100
 750 PRINT"HIT ESC TO END THE GAME EARLY
 760 INPUT"READY TO START";A$
 765 PRINT:PRINT:PRINT:GOTO50
 770 DATA189,7,201,8,140,6,200,5,190,4