Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1 SET KEY
- 2 RUN 100
- 4 HOME
- 5 INPUT T1
- 6 RETURN
- 8 GOSUB 1370
- 9 RETURN
- 100 REM *2 INITIAL VALUES + CONDITIONS
- 110 DIM X(12),D1(12),D2(12)
- 120 H3=0
- 130 H2=0
- 140 PAGE
- 150 M9=0
- 160 G=39.47841761
- 170 L=20000
- 180 M1=1
- 190 M2=0
- 200 M3=0
- 210 O=0
- 220 X(1)=5
- 230 X(2)=0
- 240 X(3)=0
- 250 X(4)=0
- 260 X(5)=0
- 270 X(6)=0
- 280 X(7)=0
- 290 X(8)=6.283185308
- 291 REM 3 GENERATION OF RND POSITION AND VELOCITY OF DEATH STAR
- 300 X(9)=-6.5
- 310 X(10)=10*RND(-1)-5
- 320 X(11)=10*RND(-1)+5
- 330 X(12)=22*RND(-1)-11
- 331 REM 4 DEATH STAR CANNOT LEAVE FIELD
- 340 IF X(12)/X(11).LT.-(X(10)+5)/13 THEN 330
- 350 IF X(12)/X(11).GT.-(X(10)-5)/13 THEN 330
- 360 T1=0.04
- 370 WINDOW -6.5,6.5,-5,5
- 380 VIEWPORT 0,100,25,100
- 390 MOVE -6.5,-5
- 400 DRAW -6.5,5
- 410 DRAW 6.5,5
- 420 DRAW 6.5,-5
- 430 DRAW -6.5,-5
- 431 REM 5 PROGRAM WILL STOP AFTER 5 LOOPS
- 440 P=4
- 450 T=0
- 460 MOVE 4.91,-0.13
- 470 PRINT "o"
- 480 REM: START OF RUNGE-KUTTA COMPUTATION LOOP.
- 490 FOR N=1 TO P
- 500 L1=((5-X(9))!2+X(10)!2)!0.5
- 510 IF L1=.GT.L THEN 1240
- 520 L=L1
- 530 MOVE X(5),X(6)
- 540 RDRAW 0,0
- 550 MOVE X(9),X(10)
- 560 GEN A,B
- 570 RDRAW 0,0
- 580 IF O.LT..GT.1 THEN 600
- 590 GOSUB 1460
- 600 H1=((X(5)-X(9))!2+(X(6)-X(10))!2)!0.5
- 610 E1=H1*(RND(-1)+RND(-1)+RND(-1)+RND(-1)+RND(-1)+RND(-1)-3)/6
- 620 F1=H1*(RND(-1)+RND(-1)+RND(-1)+RND(-1)+RND(-1)+RND(-1)-3)/6
- 630 IF X(5)+E1.GT.6.5 OR X(5)+E1.LT.-6.5 THEN 820
- 640 IF X(6)+F1.GT.5 OR X(6)+F1.LT.-5 THEN 820
- 650 MOVE X(5),X(6)
- 660 RMOVE E1-0.09,F1-0.135
- 670 GIN E2,F2
- 679 REM TEKFAN: Lines 680 and 690 are crossed out in the printout
- 680 E2=E2+0.09
- 690 F2=F2+0.135
- 700 PRINT "*"
- 710 L4=(X(5)-E2)!2+(X(6)-F2)!2
- 720 IF L4!0.5.LT.0.25 THEN 1750
- 730 X(7)=X(7)+(X(5)-E2)/(L4!0.5*(2*L4+0.1))
- 740 X(8)=X(8)+(X(6)-F2)/(L4!0.5*(2*L4+0.1))
- 745 GOSUB 1010
- 750 X=X+D1
- 760 D2=D1
- 770 T=T+T1
- 780 GOSUB 1010
- 790 D2=D1-D2
- 800 D2=D2*0.5
- 810 X=X+D2
- 820 NEXT N
- 830 MOVE -6.5,-5.5
- 840 PRINT "ENTER CHANGE IN X VELOCITY: ";
- 850 INPUT Q
- 859 REM TEKFAN: on line 860, the K's are underlined in the printout
- 860 PRINT "KK"
- 870 PRI " ENTER CHANGE IN Y VELOCITY: ";
- 880 INPUT S
- 890 A1=ABS(Q)+ABS(S)
- 900 B1=3*RND(-1)+4
- 910 IF A1.LT.=B1 THEN 970
- 920 IMAGE 21A1D.2D23A
- 930 MOVE -6.5,-6
- 940 PRINT USING 920:"ION FUEL DEPLETED AT ",B1," SPACE INJECTION UNITS."
- 950 Q=Q-Q*(A1-B1)/A1
- 960 S=S-S*(A1-B1)/A1
- 970 X(7)=X(7)+Q
- 980 X(8)=X(8)+S
- 990 P=2000
- 1000 GO TO 480
- 1010 REM: COMPUTATION OF DERIVATIVES
- 1020 X1=X(1)-X(5)
- 1030 Y1=X(2)-X(6)
- 1040 X2=X(1)-X(9)
- 1050 Y2=X(2)-X(10)
- 1060 X3=X(5)-X(9)
- 1070 Y3=X(6)-X(10)
- 1080 R1=(X1!2+Y1!2)!1.5
- 1090 R2=(X2!2+Y2!2)!1.5
- 1100 R3=(X3!2+Y3!2)!1.5
- 1110 D1(1)=X(3)*T1
- 1120 D1(2)=X(4)*T1
- 1130 D1(3)=(-M2*X1/R1-M3*X2/R2)*G*T1
- 1140 D1(4)=(-M2*Y1/R1-M3*Y2/R2)*G*T1
- 1150 D1(5)=X(7)*T1
- 1160 D1(6)=X(8)*T1
- 1170 D1(7)=(M1*X1/R1-M3*X3/R3)*G*T1
- 1180 D1(8)=(M1*Y1/R1-M3*Y3/R3)*G*T1
- 1190 D1(9)=X(11)*T1
- 1200 D1(10)=X(12)*T1
- 1210 D1(11)=(M1*X2/R2+M2*X3/R3)*G*T1
- 1220 D1(12)=(M1*Y2/R2+M2*Y3/R3)*G*T1
- 1230 RETURN
- 1240 REM HA HA
- 1250 FOR N=1 TO 4
- 1260 MOVE A,B
- 1269 REM TEKFAN: Transcribing next line as if it contains a numeral 0 rather than letter O, but I'm not sure about it
- 1270 DRAW 5,0
- 1280 MOVE 4.92,-0.13
- 1289 REM TEKFAN: on lines 1290, 1320, and 1330 the G's, J's, and H's are all underlined in the printout
- 1290 PRINT "*G"
- 1300 NEXT N
- 1310 MOVE 7,2
- 1319 REM TEKFAN: on lines 1320 and 1330 all
- 1320 PRINT "PLANETJHHHHHHDEBARANJHHHHHHHDESTROYED!";
- 1330 PRINT "JJHHHHHHHHHHMILLIONS DIE!"
- 1340 H3=H3+1
- 1350 GOSUB 1630
- 1360 GO TO 140
- 1370 REM *** FIRING SUBROUTINE ***
- 1380 O=1
- 1390 POINTER F,G1,T$
- 1400 T2=(F-X(5))/5
- 1410 S1=X(5)
- 1420 S2=X(5)
- 1430 Q1=X(6)
- 1440 Q2=X(6)
- 1450 RETURN
- 1460 S1=S1+T2
- 1470 Q1=(G1-Q2)*(S1-S2)/(F-S2)+Q2
- 1480 MOVE S1,Q1
- 1490 DRAW S1,Q1
- 1500 O1=((X(9)-S1)!2+(X(10)-Q1)!2)!0.5
- 1510 IF 01.LT.0.25 THEN 1530
- 1520 RETURN
- 1530 FOR C=1 TO 4
- 1540 MOVE X(9)-0.08,X(10)-0.135
- 1549 REM TEKFAN: on line 1550 the G is underlined in the printout
- 1550 PRINT "*G"
- 1560 NEXT C
- 1570 H2=H2+1
- 1580 MOVE 7,2.5
- 1589 REM TEKFAN: all J's and groups of contiguous H's immediately following J's on line 1590 are underlined in printout
- 1590 PRI "DEATH STARJHHHHHHHHHHDESTROYED INJHHHHHHHHHHHHNUCLEARJHHHHHH";
- 1599 REM TEKFAN: the H on line 1600 is underlined in the printout
- 1600 PRINT "HREACTION"
- 1610 GOSUB 1630
- 1620 GO TO 140
- 1630 MOVE 7,4.5
- 1640 PRINT "REBELS ";H2
- 1650 MOVE 7,4
- 1660 PRINT "EMPIRE ";H3
- 1670 MOVE -6.5,-7
- 1680 PRINT "DO YOU WISH TO PLAY AGAIN? ";
- 1690 INPUT Q$
- 1700 W$=SEG(Q$,1,1)
- 1710 IF W$="Y" THEN 1740
- 1719 REM TEKFAN: the J on line 1720 is underlined in the printout
- 1720 PRINT "JMAY THE FORCE BE WITH YOU UNTIL WE MEET AGAIN !"
- 1730 END
- 1740 RETURN
- 1750 IF L4!0.5.LT.0.05 OR M9=1 THEN 1910
- 1760 GO TO RND(-1)*3+1 OF 1770,1820,1860
- 1770 MOVE 7,-2
- 1779 REM TEKFAN: J's and following H's underlined in printout on line 1780
- 1780 PRINT "R2 UNIT DAMAGEDJHHHHHHHHHHHHHHHLOSS OFJHHHHHHHGUIDANCE!"
- 1790 X(7)=X(7)+10*RND(-1)-5
- 1800 X(8)=X(8)+10*RND(-1)-5
- 1809 REM TEKFAN: printout edits replace 800 with 730 on lines 1810, 1850, and 1900
- 1810 GO TO 800
- 1820 MOVE 7,-3.5
- 1830 PRINT "SHIELDS DOWN"
- 1840 M9=1
- 1850 GO TO 800
- 1860 MOVE 7,-4
- 1869 REM TEKFAN: J's and following H's underlined in printout on line 1870
- 1870 PRINT "ION ENGINEJHHHHHHHHHHEXPLODES !"
- 1880 X(7)=X(7)+(20*RND(-1)-10)
- 1890 X(8)=X(8)+(20*RND(-1)-10)
- 1900 GO TO 800
- 1910 MOVE E2-0.09,F2-0.135
- 1919 REM TEKFAN: all G's and H's on line 1920 are underlined in the printout
- 1920 PRINT "*GH*GH*GH*GH*"
- 1930 FOR P9-1 TO 20
- 1940 MOVE 7,-1
- 1950 PRINT "SHIP DESTROYED"
- 1960 NEXT P9
- 1970 H3=H3+1
- 1980 GOSUB 1630
- 1990 GO TO 140
- 2000 END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement