mirror of
https://github.com/coding-horror/basic-computer-games.git
synced 2026-01-08 03:12:26 -08:00
add all BASIC source files and folders
This commit is contained in:
7
81 Splat/README.md
Normal file
7
81 Splat/README.md
Normal file
@@ -0,0 +1,7 @@
|
||||
### Splat
|
||||
|
||||
As published in Basic Computer Games (1978)
|
||||
https://www.atariarchives.org/basicgames/showpage.php?page=151
|
||||
|
||||
Downloaded from Vintage Basic at
|
||||
http://www.vintage-basic.net/games.html
|
||||
128
81 Splat/splat.bas
Normal file
128
81 Splat/splat.bas
Normal file
@@ -0,0 +1,128 @@
|
||||
10 PRINT TAB(33);"SPLAT"
|
||||
20 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
|
||||
40 PRINT:PRINT:PRINT
|
||||
50 DIM A(42)
|
||||
95 PRINT "WELCOME TO 'SPLAT' -- THE GAME THAT SIMULATES A PARACHUTE"
|
||||
96 PRINT "JUMP. TRY TO OPEN YOUR CHUTE AT THE LAST POSSIBLE"
|
||||
97 PRINT "MOMENT WITHOUT GOING SPLAT."
|
||||
118 PRINT:PRINT:D1=0:V=0:A=0:N=0:M=0:D1=INT(9001*RND(1)+1000)
|
||||
119 PRINT "SELECT YOUR OWN TERMINAL VELOCITY (YES OR NO)";:INPUT A1$
|
||||
120 IF A1$="NO" THEN 128
|
||||
121 IF A1$<>"YES" THEN PRINT "YES OR NO";:INPUT A1$:GOTO 120
|
||||
123 PRINT "WHAT TERMINAL VELOCITY (MI/HR)";:INPUT V1
|
||||
125 V1=V1*(5280/3600):V=V1+((V1*RND(1))/20)-((V1*RND(1))/20):GOTO 135
|
||||
128 V1=INT(1000*RND(1))
|
||||
130 PRINT "OK. TERMINAL VELOCITY ="V1"MI/HR"
|
||||
131 V1=V1*(5280/3600):V=V1+((V1*RND(1))/20)-((V1*RND(1))/20)
|
||||
135 PRINT "WANT TO SELECT ACCELERATION DUE TO GRAVITY (YES OR NO)";
|
||||
136 INPUT B1$
|
||||
140 IF B1$="NO" THEN 150
|
||||
141 IF B1$<>"YES" THEN PRINT "YES OR NO";:INPUT B1$:GOTO 140
|
||||
143 PRINT "WHAT ACCELERATION (FT/SEC/SEC)";:INPUT A2
|
||||
145 A=A2+((A2*RND(1))/20)-((A2*RND(1))/20):GOTO 205
|
||||
150 ON INT(1+(10*RND(1)))GOTO 151,152,153,154,155,156,157,158,159,160
|
||||
151 PRINT"FINE. YOU'RE ON MERCURY. ACCELERATION=12.2 FT/SEC/SEC.":GOTO 161
|
||||
152 PRINT"ALL RIGHT. YOU'RE ON VENUS. ACCELERATION=28.3 FT/SEC/SEC.":GOTO 162
|
||||
153 PRINT "THEN YOU'RE ON EARTH. ACCELERATION=32.16 FT/SEC/SEC.":GOTO 163
|
||||
154 PRINT"FINE. YOU'RE ON THE MOON. ACCELERATION=5.15 FT/SEC/SEC.":GOTO 164
|
||||
155 PRINT"ALL RIGHT. YOU'RE ON MARS. ACCELERATION=12.5 FT/SEC/SEC.":GOTO 165
|
||||
156 PRINT"THEN YOU'RE ON JUPITER. ACCELERATION=85.2 FT/SEC/SEC.":GOTO 166
|
||||
157 PRINT"FINE. YOU'RE ON SATURN. ACCELERATION=37.6 FT/SEC/SEC.":GOTO 167
|
||||
158 PRINT"ALL RIGHT. YOU'RE ON URANUS. ACCELERATION=33.8 FT/SEC/SEC.":GOTO 168
|
||||
159 PRINT"THEN YOU'RE ON NEPTUNE. ACCELERATION=39.6 FT/SEC/SEC.":GOTO 169
|
||||
160 PRINT"FINE. YOU'RE ON THE SUN. ACCELERATION=896 FT/SEC/SEC.":GOTO 170
|
||||
161 A2=12.2:GOTO 145
|
||||
162 A2=28.3:GOTO 145
|
||||
163 A2=32.16:GOTO 145
|
||||
164 A2=5.15:GOTO 145
|
||||
165 A2=12.5:GOTO 145
|
||||
166 A2=85.2:GOTO 145
|
||||
167 A2=37.6:GOTO 145
|
||||
168 A2=33.8 :GOTO 145
|
||||
169 A2=39.6:GOTO 145
|
||||
170 A2=896:GOTO 145
|
||||
205 PRINT
|
||||
206 PRINT " ALTITUDE ="D1"FT"
|
||||
207 PRINT " TERM. VELOCITY ="V1"FT/SEC +/-5%"
|
||||
208 PRINT " ACCELERATION ="A2"FT/SEC/SEC +/-5%"
|
||||
210 PRINT "SET THE TIMER FOR YOUR FREEFALL."
|
||||
211 PRINT "HOW MANY SECONDS";:INPUT T
|
||||
215 PRINT "HERE WE GO."
|
||||
217 PRINT
|
||||
218 PRINT "TIME (SEC)","DIST TO FALL (FT)"
|
||||
219 PRINT "==========","================="
|
||||
300 FOR I=0 TO T STEP (T/8)
|
||||
310 IF I>V/A THEN 400
|
||||
320 D=D1-((A/2)*I^2)
|
||||
330 IF D<=0 THEN 1000
|
||||
340 PRINT I,D
|
||||
350 NEXT I
|
||||
360 GOTO 500
|
||||
400 PRINT "TERMINAL VELOCITY REACHED AT T PLUS"V/A"SECONDS."
|
||||
405 FOR I=I TO T STEP (T/8)
|
||||
410 D=D1-((V^2/(2*A))+(V*(I-(V/A))))
|
||||
420 IF D<=0 THEN 1010
|
||||
430 PRINT I,D
|
||||
440 NEXT I
|
||||
500 PRINT "CHUTE OPEN"
|
||||
510 K=0:K1=0
|
||||
550 FOR J=0 TO 42
|
||||
555 IF A(J)=0 THEN 620
|
||||
560 K=K+1
|
||||
570 IF D>=A(J) THEN 600
|
||||
580 K1=K1+1
|
||||
600 NEXT J
|
||||
610 GOTO 540
|
||||
620 A(J)=D
|
||||
630 IF J>2 THEN 650
|
||||
635 PRINT "AMAZING!!! NOT BAD FOR YOUR ";
|
||||
636 IF J=0 THEN PRINT "1ST ";
|
||||
637 IF J=1 THEN PRINT "2ND ";
|
||||
638 IF J=2 THEN PRINT "3RD ";
|
||||
639 PRINT "SUCCESSFUL JUMP!!!":GOTO 2000
|
||||
650 IF K-K1<=.1*K THEN 700
|
||||
660 IF K-K1<=.25*K THEN 710
|
||||
670 IF K-K1<=.5*K THEN 720
|
||||
680 IF K-K1<=.75*K THEN 730
|
||||
690 IF K-K1<=.9*K THEN 740
|
||||
695 GOTO 750
|
||||
700 PRINT "WOW! THAT'S SOME JUMPING. OF THE"K"SUCCESSFUL JUMPS"
|
||||
701 PRINT "BEFORE YOURS, ONLY"K-K1"OPENED THEIR CHUTES LOWER THAN"
|
||||
702 PRINT "YOU DID."
|
||||
703 GOTO 2000
|
||||
710 PRINT "PRETTY GOOD! " K"SUCCESSFUL JUMPS PRECEDED YOURS AND ONLY"
|
||||
711 PRINT K-K1" OF THEM GOT LOWER THAN YOU DID BEFORE THEIR CHUTES"
|
||||
712 PRINT "OPENED." :GOTO 2000
|
||||
720 PRINT "NOT BAD. THERE HAVE BEEN"K"SUCCESSFUL JUMPS BEFORE YOURS."
|
||||
721 PRINT"YOU WERE BEATEN OUT BY"K-K1"OF THEM.":GOTO 2000
|
||||
730 PRINT "CONSERVATIVE, AREN'T YOU? YOU RANKED ONLY"K-K1"IN THE"
|
||||
731 PRINT K"SUCCESSFUL JUMPS BEFORE YOURS.":GOTO 2000
|
||||
740 PRINT "HUMPH! DON'T YOU HAVE ANY SPORTING BLOOD? THERE WERE"
|
||||
741 PRINT K"SUCCESSFUL JUMPS BEFORE YOURS AND YOU CAME IN"K1"JUMPS"
|
||||
742 PRINT "BETTER THAN THE WORST. SHAPE UP!!!":GOTO 2000
|
||||
750 PRINT "HEY! YOU PULLED THE RIP CORD MUCH TOO SOON. "K"SUCCESSFUL"
|
||||
751 PRINT "JUMPS BEFORE YOURS AND YOU CAME IN NUMBER"K-K1"! GET WITH IT!"
|
||||
752 GOTO 2000
|
||||
800 PRINT "REQUIESCAT IN PACE.":GOTO 1950
|
||||
801 PRINT "MAY THE ANGEL OF HEAVEN LEAD YOU INTO PARADISE.":GOTO 1950
|
||||
802 PRINT "REST IN PEACE.":GOTO 1950
|
||||
803 PRINT "SON-OF-A-GUN.":GOTO 1950
|
||||
804 PRINT "#$%&&%!$":GOTO 1950
|
||||
805 PRINT "A KICK IN THE PANTS IS A BOOST IF YOU'RE HEADED RIGHT.":GOTO 1950
|
||||
806 PRINT "HMMM. SHOULD HAVE PICKED A SHORTER TIME.":GOTO 1950
|
||||
807 PRINT "MUTTER. MUTTER. MUTTER.":GOTO 1950
|
||||
808 PRINT "PUSHING UP DAISIES.":GOTO 1950
|
||||
809 PRINT "EASY COME, EASY GO.":GOTO 1950
|
||||
1000 PRINT SQR(2*D1/A),"SPLAT"
|
||||
1005 ON INT(1+(10*RND(1)))GOTO 800,801,802,803,804,805,806,807,808,809
|
||||
1010 PRINT (V/A)+((D1-(V^2/(2*A)))/V),"SPLAT"
|
||||
1020 GOTO 1005
|
||||
1950 PRINT "I'LL GIVE YOU ANOTHER CHANCE.":GOTO 2000
|
||||
2000 PRINT "DO YOU WANT TO PLAY AGAIN";:INPUT Z$
|
||||
2001 IF Z$="YES" THEN 118
|
||||
2002 IF Z$="NO" THEN 2005
|
||||
2003 PRINT "YES OR NO":GOTO 2000
|
||||
2005 PRINT "PLEASE";:INPUT Z$:IF Z$="YES" THEN 118
|
||||
2006 IF Z$<>"NO" THEN PRINT "YES OR NO ";:GOTO 2005
|
||||
2007 PRINT "SSSSSSSSSS.":PRINT:GOTO 2046
|
||||
2046 END
|
||||
Reference in New Issue
Block a user