mirror of
https://github.com/rfivet/BCG101.git
synced 2024-12-18 16:16:32 -05:00
Add 23MTCH, 3DPLOT, TRAIN and TRAP.
This commit is contained in:
parent
9f63035c8e
commit
1d798092c1
44
dec/23MTCH.BAS
Normal file
44
dec/23MTCH.BAS
Normal file
@ -0,0 +1,44 @@
|
||||
100 REM ***23 MATCHES
|
||||
110 PRINT "LET'S PLAY 23 MATCHES. WE START WITH 23 MATCHES."
|
||||
115 PRINT "YOU MOVE FIRST. YOU MAY TAKE 1,2 OR 3 MATCHES."
|
||||
120 PRINT "THEN I MOVE...I MAY TAKE 1,2 OR 3 MATCHES."
|
||||
125 PRINT "YOU MOVE, I MOVE AND SO ON. THE ONE WHO HAS TO"
|
||||
130 PRINT "TAKE THE LAST MATCH LOSES."
|
||||
135 PRINT "GOOD LUCK AND MAY THE BEST COMPUTER (HA HA) WIN."
|
||||
140 PRINT
|
||||
150 LET M=23
|
||||
200 REM ***THE HUMAN MOVES
|
||||
205 PRINT
|
||||
210 PRINT "THERE ARE NOW";M;"MATCHES."
|
||||
215 PRINT
|
||||
220 PRINT "HOW MANY DO YOU TAKE";
|
||||
230 INPUT H
|
||||
240 IF H>M THEN 510
|
||||
250 IF H<>INT(H) THEN 510
|
||||
260 IF H<=0 THEN 510
|
||||
270 IF H>=4 THEN 510
|
||||
280 LET M=M-H
|
||||
290 IF M=0 THEN 410
|
||||
300 REM ***THE COMPUTER MOVES
|
||||
305 IF M=1 THEN 440
|
||||
310 LET R=M-4*INT(M/4)
|
||||
320 IF R<>1 THEN 350
|
||||
330 LET C=INT(3*RND(0))+1
|
||||
340 GO TO 360
|
||||
350 LET C=(R+3)-4*INT((R+3)/4)
|
||||
360 LET M=M-C
|
||||
370 IF M=0 THEN 440
|
||||
375 PRINT
|
||||
380 PRINT "I TOOK";C;"...";
|
||||
390 GO TO 210
|
||||
400 REM ***SOMEBODY WON (SEE LINES 290,305,370)
|
||||
410 PRINT
|
||||
420 PRINT "I WON!!! BETTER LUCK NEXT TIME."
|
||||
430 GO TO 140
|
||||
440 PRINT
|
||||
450 PRINT "O.K. SO YOU WON. LET'S PLAY AGAIN."
|
||||
460 GO TO 140
|
||||
500 REM ***THE HUMAN CHEATED! (SEE LINES 240 THRU 270)
|
||||
510 PRINT "YOU CHEATED! BUT I'LL GIVE YOU ANOTHER CHANCE."
|
||||
520 GO TO 215
|
||||
999 END
|
14
dec/3DPLOT.BAS
Normal file
14
dec/3DPLOT.BAS
Normal file
@ -0,0 +1,14 @@
|
||||
5 DEF FNA(Z)=30*EXP(-Z*Z/100)
|
||||
100 PRINT
|
||||
110 FOR X=-30 TO 30 STEP 1.5
|
||||
120 L=0
|
||||
130 Y1=5*INT(SQR(900-X*X)/5)
|
||||
140 FOR Y=Y1 TO -Y1 STEP -5
|
||||
150 Z=INT(25+FNA(SQR(X*X+Y*Y))-.7*Y)
|
||||
160 IF Z<=L THEN 190
|
||||
170 L=Z
|
||||
180 PRINT TAB(Z)"*";
|
||||
190 NEXT Y
|
||||
200 PRINT
|
||||
210 NEXTX
|
||||
300 END
|
21
dec/TRAIN.BAS
Normal file
21
dec/TRAIN.BAS
Normal file
@ -0,0 +1,21 @@
|
||||
4 PRINT "TIME - SPEED - DISTANCE EXERCISE"\PRINT
|
||||
5 RANDOMIZE
|
||||
10 C=INT(RND*25)+40
|
||||
15 D=INT(RND*15)+5
|
||||
20 T=INT(RND*19)+20
|
||||
25 PRINT " A CAR TRAVELING"C"MPH CAN MAKE A CERTAIN TRIP IN"
|
||||
30 PRINT D"HOURS LESS THAN A TRAIN TRAVELING AT"T"MPH."
|
||||
35 PRINT "HOW LONG DOES THE TRIP TAKE BY CAR";
|
||||
40 INPUT A
|
||||
45 V=D*T/(C-T)
|
||||
50 E=INT(ABS((V-A)*100/A)+.5)
|
||||
55 IF E>5 THEN 70
|
||||
60 PRINT "GOOD! ANSWER WITHIN"E"PERCENT."
|
||||
65 GOTO 80
|
||||
70 PRINT "SORRY. YOU WERE OFF BY"E"PERCENT."
|
||||
80 PRINT "CORRECT ANSWER IS"V"HOURS."
|
||||
90 PRINT
|
||||
95 PRINT "ANOTHER PROBLEM (YES OR NO)";
|
||||
100 INPUT A$\PRINT
|
||||
105 IF A$="YES" THEN 10
|
||||
999 END
|
46
dec/TRAP.BAS
Normal file
46
dec/TRAP.BAS
Normal file
@ -0,0 +1,46 @@
|
||||
10 G=6
|
||||
20 N=100
|
||||
30 REM-TRAP
|
||||
40 REM-STEVE ULLMAN, 8-1-72
|
||||
50 PRINT "WANT INSTRUCTIONS (1 FOR YES)";
|
||||
60 INPUT Z
|
||||
70 IF Z<>1 THEN 180
|
||||
80 PRINT "I AM THINKING OF A NUMBER BETWEEN 1 AND";N
|
||||
90 PRINT "TRY TO GUESS MY NUMBER. ON EACH GUESS,"
|
||||
100 PRINT "YOU ARE TO ENTER 2 NUMBERS, TRYING TO TRAP"
|
||||
110 PRINT "MY NUMBER BETWEEN THE TWO NUMBERS. I WILL"
|
||||
120 PRINT "TELL YOU IF YOU HAVE TRAPPED MY NUMBER, IF MY"
|
||||
130 PRINT "NUMBER IS LARGER THAN YOUR TWO NUMBERS, OR IF"
|
||||
140 PRINT "MY NUMBER IS SMALLER THAN YOUR TWO NUMBERS."
|
||||
150 PRINT "IF YOU WANT TO GUESS ONE SINGLE NUMBER, TYPE"
|
||||
160 PRINT "YOUR GUESS FOR BOTH YOUR TRAP NUMBERS."
|
||||
170 PRINT "YOU GET";G;"GUESSES TO GET MY NUMBER."
|
||||
180 X=INT(N*RND(0))+1
|
||||
190 FOR Q=1 TO G
|
||||
200 PRINT
|
||||
210 PRINT "GUESS #";Q;
|
||||
220 INPUT A,B
|
||||
230 IF A<>B THEN 240
|
||||
235 IF X=A THEN 400
|
||||
240 IF A <=B THEB 260
|
||||
250 GOSUB 360
|
||||
260 IF X<A THEN 300
|
||||
270 IF X<=B THEN 320
|
||||
280 PRINT "MY NUMBER IS LARGER THAN YOUR TRAP NUMBERS."
|
||||
290 GOTO 330
|
||||
300 PRINT "MY NUMBER IS SMALLER THAN YOUR TRAP NUMBERS."
|
||||
310 GOTO 330
|
||||
320 PRINT "YOU HAVE TRAPPED MY NUMBER."
|
||||
330 NEXTQ
|
||||
340 PRINT "SORRY, THAT'S";G;"GUESSES. NUMBER WAS";X
|
||||
350 GOTO 410
|
||||
360 R=A
|
||||
370 A=B
|
||||
380 B=R
|
||||
390 RETURN
|
||||
400 PRINT "YOU GOT IT!!!"
|
||||
410 PRINT
|
||||
420 PRINT "TRY AGAIN."
|
||||
430 PRINT
|
||||
440 GOTO 180
|
||||
450 END
|
45
port/23MTCH.BAS
Normal file
45
port/23MTCH.BAS
Normal file
@ -0,0 +1,45 @@
|
||||
100 REM ***23 MATCHES
|
||||
105 RANDOMIZE
|
||||
110 PRINT "LET'S PLAY 23 MATCHES. WE START WITH 23 MATCHES."
|
||||
115 PRINT "YOU MOVE FIRST. YOU MAY TAKE 1,2 OR 3 MATCHES."
|
||||
120 PRINT "THEN I MOVE...I MAY TAKE 1,2 OR 3 MATCHES."
|
||||
125 PRINT "YOU MOVE, I MOVE AND SO ON. THE ONE WHO HAS TO"
|
||||
130 PRINT "TAKE THE LAST MATCH LOSES."
|
||||
135 PRINT "GOOD LUCK AND MAY THE BEST COMPUTER (HA HA) WIN."
|
||||
140 PRINT
|
||||
150 LET M=23
|
||||
200 REM ***THE HUMAN MOVES
|
||||
205 PRINT
|
||||
210 PRINT "THERE ARE NOW";M;"MATCHES."
|
||||
215 PRINT
|
||||
220 PRINT "HOW MANY DO YOU TAKE";
|
||||
230 INPUT H
|
||||
240 IF H>M THEN 510
|
||||
250 IF H<>INT(H) THEN 510
|
||||
260 IF H<=0 THEN 510
|
||||
270 IF H>=4 THEN 510
|
||||
280 LET M=M-H
|
||||
290 IF M=0 THEN 410
|
||||
300 REM ***THE COMPUTER MOVES
|
||||
305 IF M=1 THEN 440
|
||||
310 LET R=M-4*INT(M/4)
|
||||
320 IF R<>1 THEN 350
|
||||
330 LET C=INT(3*RND(0))+1
|
||||
340 GO TO 360
|
||||
350 LET C=(R+3)-4*INT((R+3)/4)
|
||||
360 LET M=M-C
|
||||
370 IF M=0 THEN 440
|
||||
375 PRINT
|
||||
380 PRINT "I TOOK";C;"...";
|
||||
390 GO TO 210
|
||||
400 REM ***SOMEBODY WON (SEE LINES 290,305,370)
|
||||
410 PRINT
|
||||
420 PRINT "I WON!!! BETTER LUCK NEXT TIME."
|
||||
430 GO TO 140
|
||||
440 PRINT
|
||||
450 PRINT "O.K. SO YOU WON. LET'S PLAY AGAIN."
|
||||
460 GO TO 140
|
||||
500 REM ***THE HUMAN CHEATED! (SEE LINES 240 THRU 270)
|
||||
510 PRINT "YOU CHEATED! BUT I'LL GIVE YOU ANOTHER CHANCE."
|
||||
520 GO TO 215
|
||||
999 END
|
19
port/3DPLOT.BAS
Normal file
19
port/3DPLOT.BAS
Normal file
@ -0,0 +1,19 @@
|
||||
5 DEF FNA(Z)=30*EXP(-Z*Z/100)
|
||||
10 ' DEF FNA(Z)=SQR(900.01-Z*Z)*.9-2
|
||||
20 ' DEF FNA(Z)=30*(COS(Z/16))^2
|
||||
30 ' DEF FNA(Z)=30-30*SIN(Z/18)
|
||||
40 ' DEF FNA(Z)=30*EXP(-COS(Z/16))-30
|
||||
50 ' DEF FNA(Z)=30*SIN(Z/10)
|
||||
100 PRINT
|
||||
110 FOR X=-30 TO 30 STEP 1.5
|
||||
120 L=0
|
||||
130 Y1=5*INT(SQR(900-X*X)/5)
|
||||
140 FOR Y=Y1 TO -Y1 STEP -5
|
||||
150 Z=INT(25+FNA(SQR(X*X+Y*Y))-.7*Y)
|
||||
160 IF Z<=L THEN 190
|
||||
170 L=Z
|
||||
180 PRINT TAB(Z)"*";
|
||||
190 NEXT Y
|
||||
200 PRINT
|
||||
210 NEXTX
|
||||
300 END
|
21
port/TRAIN.BAS
Normal file
21
port/TRAIN.BAS
Normal file
@ -0,0 +1,21 @@
|
||||
4 PRINT "TIME - SPEED - DISTANCE EXERCISE"\PRINT
|
||||
5 RANDOMIZE
|
||||
10 C=INT(RND(1)*25)+40
|
||||
15 D=INT(RND(1)*15)+5
|
||||
20 T=INT(RND(1)*19)+20
|
||||
25 PRINT " A CAR TRAVELING"C"MPH CAN MAKE A CERTAIN TRIP IN"
|
||||
30 PRINT D"HOURS LESS THAN A TRAIN TRAVELING AT"T"MPH."
|
||||
35 PRINT "HOW LONG DOES THE TRIP TAKE BY CAR";
|
||||
40 INPUT A
|
||||
45 V=D*T/(C-T)
|
||||
50 E=INT(ABS((V-A)*100/A)+.5)
|
||||
55 IF E>5 THEN 70
|
||||
60 PRINT "GOOD! ANSWER WITHIN"E"PERCENT."
|
||||
65 GOTO 80
|
||||
70 PRINT "SORRY. YOU WERE OFF BY"E"PERCENT."
|
||||
80 PRINT "CORRECT ANSWER IS"V"HOURS."
|
||||
90 PRINT
|
||||
95 PRINT "ANOTHER PROBLEM (YES OR NO)";
|
||||
100 INPUT A$\PRINT
|
||||
105 IF A$="YES" THEN 10
|
||||
999 END
|
47
port/TRAP.BAS
Normal file
47
port/TRAP.BAS
Normal file
@ -0,0 +1,47 @@
|
||||
5 RANDOMIZE
|
||||
10 G=6
|
||||
20 N=100
|
||||
30 REM-TRAP
|
||||
40 REM-STEVE ULLMAN, 8-1-72
|
||||
50 PRINT "WANT INSTRUCTIONS (1 FOR YES)";
|
||||
60 INPUT Z
|
||||
70 IF Z<>1 THEN 180
|
||||
80 PRINT "I AM THINKING OF A NUMBER BETWEEN 1 AND";N
|
||||
90 PRINT "TRY TO GUESS MY NUMBER. ON EACH GUESS,"
|
||||
100 PRINT "YOU ARE TO ENTER 2 NUMBERS, TRYING TO TRAP"
|
||||
110 PRINT "MY NUMBER BETWEEN THE TWO NUMBERS. I WILL"
|
||||
120 PRINT "TELL YOU IF YOU HAVE TRAPPED MY NUMBER, IF MY"
|
||||
130 PRINT "NUMBER IS LARGER THAN YOUR TWO NUMBERS, OR IF"
|
||||
140 PRINT "MY NUMBER IS SMALLER THAN YOUR TWO NUMBERS."
|
||||
150 PRINT "IF YOU WANT TO GUESS ONE SINGLE NUMBER, TYPE"
|
||||
160 PRINT "YOUR GUESS FOR BOTH YOUR TRAP NUMBERS."
|
||||
170 PRINT "YOU GET";G;"GUESSES TO GET MY NUMBER."
|
||||
180 X=INT(N*RND(0))+1
|
||||
190 FOR Q=1 TO G
|
||||
200 PRINT
|
||||
210 PRINT "GUESS #";Q;
|
||||
220 INPUT A,B
|
||||
230 IF A<>B THEN 240
|
||||
235 IF X=A THEN 400
|
||||
240 IF A <=B THEB 260
|
||||
250 GOSUB 360
|
||||
260 IF X<A THEN 300
|
||||
270 IF X<=B THEN 320
|
||||
280 PRINT "MY NUMBER IS LARGER THAN YOUR TRAP NUMBERS."
|
||||
290 GOTO 330
|
||||
300 PRINT "MY NUMBER IS SMALLER THAN YOUR TRAP NUMBERS."
|
||||
310 GOTO 330
|
||||
320 PRINT "YOU HAVE TRAPPED MY NUMBER."
|
||||
330 NEXTQ
|
||||
340 PRINT "SORRY, THAT'S";G;"GUESSES. NUMBER WAS";X
|
||||
350 GOTO 410
|
||||
360 R=A
|
||||
370 A=B
|
||||
380 B=R
|
||||
390 RETURN
|
||||
400 PRINT "YOU GOT IT!!!"
|
||||
410 PRINT
|
||||
420 PRINT "TRY AGAIN."
|
||||
430 PRINT
|
||||
440 GOTO 180
|
||||
450 END
|
Loading…
Reference in New Issue
Block a user