Jump to content
IGNORED

Book : TI games for kids!


oddemann

Recommended Posts

On 2/25/2018 at 2:53 PM, oddemann said:

Introduction to Addition

Skill area Mathematics

LeveLl, 2

 

Once you've mastered "Number Concepts" you are ready for "Introduction to Addition." The program first asks what the minimum and maximum numbers are for the problems. The minimum can be any num ber between one and six, and the maximum can be any number between four and nine. The maximum must be at least three greater than the minimum. Once the minimum and the maximum number have been entered, the program will randomly produce addition problems in which both numbers will be between the maximum and the minimum. As each number is presented, a row of squares appears beside the number to demonstrate it. You must enter the answer to the problem. If you are correct on the first try, the answer is shown, and the total number of boxes is displayed. Suppose, for example, that the minimum number possible is two, and the maximum is six. The first problem might be six plus three. There would be a row of six boxes beside the six and three boxes beside the three. If you entered nine, the number nine would be shown, and there would be a row of nine boxes beside it. You have three chances to enter the correct answer to a problem. After three incorrect responses, the correct answer is shown. Then a new problem appears. If you get the correct answer to a problem on the first try, that problem will not appear again. Problems on which you do not get the correct answer on the first try will appear again later. The program continues presenting problems until all possible problems except one have been answered correctly on the first try. In order to learn the concept of addition, it is a good idea to start with the minimum of one and the maximum of four or five. As each problem appears, you should count the boxes corresponding to each of the two numbers. Then you should count the total number of boxes to show that the sum of the number of boxes in each of the two rows is the same as the sum of the boxes corresponding to the answer. Once you have begun to master the problems with the lower numbers, then the minimum and the maximum can be increased so that eventually you should be able to correctly add any two numbers between one and nine.

 

Introduction to Addition
 

100 REM INTRO TO ADDITION
110 REM
120 CALL CLEAR
130 RANDOMIZE
140 DIM A(10,10)
150 CALL COLOR(13,9,9)
160 INPUT "MINIMUM ":MIN
170 IF (MIN>0)*(MIN<7)THEN 200
180 PRINT ::"TRY AGAIN"::
190 GOTO 160
200 INPUT "MAXIMUM ":MAX
210 IF (MAX-MIN>2)*(MAX<10)THEN 240
220 PRINT ::"TRY AGAIN"::
230 GOTO 200
240 CALL CLEAR
250 X=INT(RND*(MAX-MIN+1)+MIN)
260 Y=INT(RND*(MAX-MIN+1)+MIN)
270 IF (X=OLDX)*(Y=OLDY)THEN 250
280 IF A(X,Y)=1 THEN 250
290 E=0
300 OLDX=X
310 OLDY=Y
320 CALL HCHAR(10,6,X+48)
330 CALL HCHAR(12,6,Y+48)
340 FOR N=1 TO X
350 CALL HCHAR(10,6+2*N,128)
360 NEXT N
370 FOR N=1 TO Y
380 CALL HCHAR(12,6+2*N,128)
390 NEXT N
400 CALL HCHAR(13,5,95,3)
410 INPUT ANS
420 IF ANS=X+Y THEN 470
430 CALL SOUND(500,-3,3)
440 E=E+1
450 IF E=3 THEN 730
460 GOTO 410
470 CALL SOUND(50,300,3)
480 ANS$=STR$(ANS)
490 IF LEN(ANS$)=1 THEN 530
500 CALL HCHAR(14,5,VAL(SEG$(ANS$,1,1))+48)
510 CALL HCHAR(14,6,VAL(SEG$(ANS$,2,1))+48) ^ 520 GOTO 540
530 CALL HCHAR(14,6,ANS+48)
540 IF E>0 THEN 570
550 A(X,Y)=1
560 C=C+1
570 IF ANS>10 THEN 620
580 FOR N=1 TO X+Y
590 CALL HCHAR(14,6+N*2,128)
600 NEXT N
610 GOTO 680
620 FOR N=1 TO 10
630 CALL HCHAR(14,6+N*2,128)
640 NEXT N
650 FOR N=1 TO ANS-10
660 CALL HCHAR(16,6+N*2,128)
670 NEXT N
680 PRINT "HIT ANY KEY TO CONTINUE."
690 CALL KEY(0,K,S)
700 IF S=0 THEN 690
710 IF C+1<(MAX-MIN+1)*2 THEN 240
720 END
730 FOR DELAY=1 TO 300
740 NEXT DELAY
750 ANS=X+Y
760 GOTO 480

Copy bug fixed, should work now!

Corrections:

510 CALL HCHAR(14,6,VAL(SEG$(ANS$,2,1))+48)
520 GOTO 540

 

  • Like 1
Link to comment
Share on other sites

On 2/25/2018 at 3:08 PM, oddemann said:

Concept Learning

Skill area: Memory and Logic

LeveL 1,2

 

Young children take great pride in being able to identify colors, shapes, and sizes. "Concept Learning" requires you to use this knowledge for problem solving. Two objects are displayed on the screen. One of the two has been designated as correct according to a rule, and you have to figure out which one is correct by learning the rule. You make your choice by pushing the Q key to choose the left-hand object, and by pushing the P key to choose the right-hand object. If you are correct, a little man dances across the screen; if you're wrong, the screen goes dark for a moment, and the computer makes an unpleasant noise. Then the next display is presented. You will be correct only about half the time by guessing, but you'll be correct all the time as soon as you figure out the rule. Once you've made five correct choices in a row, the computer assumes that you have solved the problem and presents a new problem with a new rule. The rule is always a simple rule such as pick the square, or pick the larger one, or pick the red one. These rules may seem extremely easy to adults, but are often difficult for children. The program has three levels. If the first level is chosen, only one dimension (shape, color, or size) distinguishes the two objects. Thus, the problem is fairly simple, even for young children. If level 2 is selected, the two objects differ on two dimensions, and only one of the two dimensions is relevant. In other words, the rule is based on only one of the two dimensions, and you must learn to ignore the irrelevant one. For example, the two objects on the screen might be a large red square and a small blue square. There are four possible rules for this problem: large is correct; small is correct; red is correct; blue is correct. The selection on the first round of a problem is always just a guess, but after a few rounds, you should be able to figure out which of the four possible rules is correct for a particular problem. Level 3 involves two irrelevant characteristics, and thus is substantially more difficult. One object might be a small red square, and the other is a large blue cross. Thus, there are six possible rules here: small is correct;large is correct; red is correct; blue is correct; cross is correct; square is correct. In this case you must learn to ignore two irrelevant dimensions or characteristics. Because of the three levels of difficulty, this game is suitable for children at a wide range of ages. Preschoolers should be able to solve level 1 problems, but may encounter difficulty with levels 2 or 3. Kindergartners and first-graders should be able to solve level 2 problems, but may have difficulty with level 3. Even older grade-school children find level 3 a challenge.

Concept Learning
 

100 REM CONCEPT LEARNING
110 REM
120 CALL CLEAR
130 RANDOMIZE
140 CALL SCREEN(16)
150 DIM A(2,9)
160 F=150
170 CALL CHAR(97,"1818FF18244242")
180 CALL CHAR(104,"FFFFFFFFFFFFFFFF")
190 CALL CHAR(105,"030303030303FFFF")
200 CALL CHAR(106,"C0C0C0C0C0C0FFFF")
210 CALL CHAR(107,"FFFF030303030303")
220 CALL CHAR(108,"FFFFC0C0C0C0C0C0")
230 CALL CHAR(112,"FFFFFFFFFFFFFFFF")
240 CALL CHAR(113,"030303030303FFFF")
250 CALL CHAR(114,"C0C0C0C0C0C0FFFF")
260 CALL CHAR(115,"FFFF030303030303")
270 CALL CHAR(116,"FFFFC0C0C0C0C0C0")
280 CALL COLOR(10,8,1)
290 CALL COLOR(11,9,1)
300 INPUT "DIFFICULTY LEVEL (1,2, OR 3)":L
310 IF (L=1)+(L=2)+(L=3)THEN 340
320 PRINT "TRY AGAIN."
330 GOTO 300
340 V=INT(RND*3+1)
350 V=(L-1)*3+V
360 IF V=VV THEN 340
370 VV=V
380 W=INT(RND*2+1)
390 X=INT(RND*2+1)
400 R=1
410 CALL CLEAR
420 PRINT TAB(25);R::
430 Y=INT(RND*2+1)
440 Z=INT(RND*2+1)
450 IF (Z=ZZ)*(Y=YY)THEN 430
460 IF Z<>ZZ THEN 500
470 T=T+1
480 IF T>3 THEN 440
490 GOTO 510
500 T=0
510 ZZ=Z
520 YY=Y
530 ON V GOSUB 1000,1110,1220,1330,1560,1790,2020,2260,2500
540 FOR J=1 TO 2
550 D=ASC(SEG$(C$,J,1))-48
560 ON D GOSUB 2740,2780,2810,2840,2370,2910,2940,2970
570 NEXT J
580 FOR M=1 TO 3
590 FOR N=1 TO 3
600 CALL HCHAR(9+M,9+N,A(1,3*(M-1)+N))
610 CALL HCHAR(9+M,16+N,A(2,3*(M-1)+N))
620 NEXT N
630 NEXT M
640 CALL HCHAR(13,11,81)
650 CALL HCHAR(13,18,80)
660 CALL KEY(0,K,S)
670 IF (K=80)+(K=112)THEN 700
680 IF (K=81)+(K=113)THEN 720
690 GOTO 660
700 IF Z=2 THEN 730
710 GOTO 910
720 IF Z=2 THEN 910
730 FOR N=6 TO 26
740 CALL SOUND(50,300+F,3)
750 CALL VCHAR(10,N+1,32,4)
760 CALL HCHAR(11,N,97)
770 CALL HCHAR(11,N,32)
780 F=-F
790 NEXT N
800 P=P+1
810 IF P>4 THEN 840
820 R=R+1
830 GOTO 410
840 CALL CLEAR
850 PRINT TAB(11);"YOU WIN":::
860 PRINT TAB(11);"ROUND";R::::::
370 FOR DELAY=1 TO 1000
880 NEXT DELAY
890 P=0
900 GOTO 340
910 CALL SOUND(800,-3,3)
920 CALL CLEAR
930 CALL SCREEN(2)
940 FOR DELAY=1 TO 300
950 NEXT DELAY
960 CALL SCREEN(16)
970 P=0
980 R=R+1
990 GOTO 410
1000 IF X=Z THEN 1060
1010 IF Y=2 THEN 1040
1020 C$="21"
1030 RETURN
1040 C$="43"
1050 RETURN
1060 IF Y=2 THEN 1090
1070 C$="12"
1080 RETURN
1090 C$="34"
1100 RETURN
1110 IF X=Z THEN 1170
1120 IF Y=2 THEN 1150
1130 C$="51"
1140 RETURN
1150 C$="62"
1160 RETURN
1170 IF Y=2 THEN 1200
1180 C$="15"
1190 RETURN
1200 C$="26"
1210 RETURN
1220 IF X=Z THEN 1280
1230 IF Y=2 THEN 1260
1240 C$="42"
1250 RETURN
1260 C$="31"
1270 RETURN
1280 IF Y=2 THEN 1310
1290 C$="24"
1300 RETURN
1310 C$="13"
1320 RETURN
1330 IF W=2 THEN 1450
1340 IF X=Z THEN 1400
1350 IF Y=2 THEN 1380
1360 C$="61"
1370 RETURN
1380 C$="25"
1390 RETURN
1400 IF Y=2 THEN 1430
1410 C$="16"
1420 RETURN
1430 C$="52"
1440 RETURN
1450 IF X=Z THEN 1510
1460 IF Y=2 THEN 1490
1470 C$="41"
1480 RETURN
1490 C$="23"
1500 RETURN
1510 IF Y=2 THEN 1540
1520 C$="14"
1530 RETURN
1540 C$="32"
1550 RETURN
1560 IF W=2 THEN 1680
1570 IF X=Z THEN 1630
1580 IF Y=2 THEN 1610
1590 C$="61"
1600 RETURN
1610 C$="52"
1620 RETURN
1630 IF Y=2 THEN 1660
1640 C$="16"
1650 RETURN
1660 C$="25"
1670 RETURN
1680 IF X=Z THEN 1740
1690 IF Y=2 THEN 1720
1700 C$="71"
1710 RETURN
1720 C$="53"
1730 RETURN
1740 IF Y=2 THEN 1770
1750 C$="17"
1760 RETURN
1770 C$="35"
1780 RETURN
1790 IF W=2 THEN 1910
1800 IF X=Z THEN 1860
1810 IF Y=2 THEN 1840
1820 C$="41"
1830 RETURN
1840 C$="32"
1850 RETURN
1860 IF Y=2 THEN 1890
1870 C$="14"
1880 RETURN
1890 C$="23"
1900 RETURN
1910 IF X=Z THEN 1970
1920 IF Y=2 THEN 1950
1930 C$="71"
1940 RETURN
1950 C$="35"
1960 RETURN
1970 IF Y=2 THEN 2000
1980 C$="17"
1990 RETURN
2000 C$="53"
2010 RETURN
2020 W=INT(RND*2+1)
2030 IF W=2 THEN 2150
2040 IF X=Z THEN 2100
2050 IF Y=2 THEN 2080
2060 C$="81"
2070 RETURN
2080 C$="63"
2090 RETURN
2100 IF Y=2 THEN 2130
2110 C$="18"
2120 RETURN
2130 C$="36"
2140 RETURN
2150 IF X=Z THEN 2210
2160 IF Y=2 THEN 2190
2170 C$="45"
2180 RETURN
2190 C$="27"
2200 RETURN
2210 IF Y=2 THEN 2240
2220 C$="54"
2230 RETURN
2240 C$="72"
2250 RETURN
2260 W=INT(RND*2+1)
2270 IF W=2 THEN 2390
2280 IF X=Z THEN 2340
2290 IF Y=2 THEN 2320
2300 C$="81"
2310 RETURN
2320 C$="72"
2330 RETURN
2340 IF Y=2 THEN 2370
2350 C$="18"
2360 RETURN
2370 C$="27"
2380 RETURN
2390 IF X=Z THEN 2450
2400 IF Y=2 THEN 2430
2410 C$="63"
2420 RETURN
2430 C$="54"
2440 RETURN
2450 IF Y=2 THEN 2480
2460 C$="36"
2470 RETURN
2480 C$="45"
2490 RETURN
2500 W=INT(RND*2+1)
2510 IF W=2 THEN 2630
2520 IF X=Z THEN 2583
2530 IF Y=2 THEN 2560
2540 C$="36"
2550 RETURN
2560 C$="45"
2570 RETURN
2580 IF Y=2 THEN 2610
2590 C$="63"
2600 RETURN
2610 C$="54"
2620 RETURN
2630 IF X=Z THEN 2690
2640 IF Y=2 THEN 2670
2650 C$="72"
2660 RETURN
2670 C$="81"
2680 RETURN
2690 IF Y=2 THEN 2720
2700 C$="27"
2710 RETURN
2720 C$="18"
2730 RETURN
2740 FOR N=1 TO 9
2750 A(J,N)=104
2760 NEXT N
2770 RETURN
2780 H=104
2790 GOSUB 3000
2800 RETURN
2810 H=104
2820 GOSUB 3100
2830 RETURN
2840 H=104
2850 GOSUB 3190
2860 RETURN
2870 FOR N=1 TO 9
2880 A(J,N)=112
2890 NEXT N
2900 RETURN
2910 H=112
2920 GOSUB 3000
2930 RETURN
2940 H=112
2950 GOSUB 3100
2960 RETURN
2970 H=112
2980 GOSUB 3190
2990 RETURN
3000 A(J,1)=32
3010 A(J,2)=H
3020 A(J,3)=32
3030 A(J,4)=H
3040 A(J,5)=H
3050 A(J,6)=H
3060 A(J,7)=32
3070 A(J,=H
3080 A(J,9)=32
3090 RETURN
3100 FOR N=1 TO 4
3110 A(J,N)=32
3120 NEXT N
3130 A(J,5)=H
3140 A(J,6)=H
3150 A(J,7)=32
3160 A(J,=H
3170 A(J,9)=H
3180 RETURN
3190 FOR N=1 TO 4
3200 A(J,N)=32
3210 NEXT N
3220 A(J,5)=H+1
3230 A(J,6)=H+2
3240 A(J,7)=32
3250 A(J,=H+3
3260 A(J,9)=H+4
3270 RETURN
300 INPUT "DIFFICULTY LEVEL (1,2, OR 3)":L
310 IF (L=1)+(L=2)+(L=3)THEN 340
320 PRINT "TRY AGAIN."
330 GOTO 300
340 V=INT(RND*3+1)
350 V=(L-1)*3+V
360 IF V=VV THEN 340
370 VV=V
380 W=INT(RND*2+1)
390 X=INT(RND*2+1)
400 R=1
410 CALL CLEAR
420 PRINT TAB(25);R:::
430 Y=INT(RND*2+1)
440 Z=INT(RND*2+1)
450 IF (Z=ZZ)*(Y=YY)THEN 430
460 IF Z<>ZZ THEN 500
470 T=T+1
480 IF T>3 THEN 440
490 GOTO 510
500 T=0
510 ZZ=Z
520 YY=Y
530 ON V GOSUB 1000,1110,122*,1330,1560,1790,2020,
2260,2500
540 FOR J=1 TO 2
550 D=ASC(SEG$(C$,J,1))-48
560 ON D GOSUB 2740,2780,2810,2840,2370,2910,2940,
2970
570 NEXT J
580 FOR M=1 TO 3
590 FOR N=1 TO 3
600 CALL HCHAR(9+M,9+N,A(1,3*(M-1)+N))
610 CALL HCHAR(9+M,16+N,A(2,3*(M-1)+N))
620 NEXT N
630 NEXT M
640 CALL HCHAR(13,11,81)
650 CALL HCHAR(13,18,80)
660 CALL KEY(0,K,S)
670 IF (K=80)+(K=112)THEN 700
680 IF (K=81)+(K=113)THEN 720
690 GOTO 660
700 IF Z=2 THEN 730
710 GOTO 910
720 IF Z=2 THEN 910
730 FOR N=6 TO 26
740 CALL SOUND(50,300+F,3)
750 CALL VCHAR(10,N+1,32,4)
760 CALL HCHAR(11,N,97)
770 CALL HCHAR(11,N,32)
780 F=-F
790 NEXT N
800 P=P+1
810 IF P>4 THEN 840
820 R=R+1
830 GOTO 410
840 CALL CLEAR
850 PRINT TAB(11);"YOU WIN":::
860 PRINT TAB(11);"ROUND",• R::::::
370 FOR DELAY=1 TO 1000
880 NEXT DELAY
890 P=0
900 GOTO 340
910 CALL SOUND(800,-3,3)
920 CALL CLEAR
930 CALL SCREEN(2)
940 FOR DELAY=1 TO 300
950 NEXT DELAY
960 CALL SCREEN(16)
970 P=0
980 R=R+1
990 GOTO 410
1000 IF X=Z THEN 1060
1010 IF Y=2 THEN 1040
1020 C$="21"
1030 RETURN
1040 C$="43"
1050 RETURN
1060 IF Y=2 THEN 1090
1070 C$="12"
1080 RETURN
1090 C$="34"
1100 RETURN
1110 IF X=Z THEN 1170
1120 IF Y=2 THEN 1150
1130 C$="51"
1140 RETURN
1150 C$="62"
1160 RETURN
1170 IF Y=2 THEN 1200
1180 C$="15"
1190 RETURN
1200 C$="26"
1210 RETURN
1220 IF X=Z THEN 1280
1230 IF Y=2 THEN 1260
1240 C$="42"
1250 RETURN
1260 C$="31"
1270 RETURN
1280 IF Y=2 THEN 1310
1290 C$="24"
1300 RETURN
1310 C$="13"
1320 RETURN
1330 IF W=2 THEN 1450
1340 IF X=Z THEN 1400
1350 IF Y=2 THEN 1380
1360 C$="61"
1370 RETURN
1380 C$="25"
1390 RETURN
1400 IF Y=2 THEN 1430
1410 C$="16"
1420 RETURN
1430 C$="52"
1440 RETURN
1450 IF X=Z THEN 1510
1460 IF Y=2 THEN 1490
1470 C$="41"
1480 RETURN
1490 C$="23"
1500 RETURN
1510 IF Y=2 THEN 1540
1520 C$="14"
1530 RETURN
1540 C$="32"
1550 RETURN
1560 IF W=2 THEN 1680
1570 IF X=Z THEN 1630
1580 IF Y=2 THEN 1610
1590 C$="61"
1600 RETURN
1610 C$="52"
1620 RETURN
1630 IF Y=2 THEN 1660
1640 C$="16"
1650 RETURN
1660 C$="25"
1670 RETURN
1680 IF X=Z THEN 1740
1690 IF Y=2 THEN 1720
1700 C$="71"
1710 RETURN
1720 C$="53"
1730 RETURN
1740 IF Y=2 THEN 1770
1750 C$="17"
1760 RETURN
1770 C$="35"
1780 RETURN
1790 IF W=2 THEN 1910
1800 IF X=Z THEN 1860
1810 IF Y=2 THEN 1840
1820 C$="41"
1830 RETURN
1840 C$="32"
1850 RETURN
1860 IF Y=2 THEN 1890
1870 C$="14"
1880 RETURN
1890 C$="23"
1900 RETURN
1910 IF X=Z THEN 1970
1920 IF Y=2 THEN 1950
1930 C$="71"
1940 RETURN
1950 C$="35"
1960 RETURN
1970 IF Y=2 THEN 2000
1980 C$="17"
1990 RETURN
2000 C$="53"
2010 RETURN
2020 W=INT(RND*2+1)
2030 IF W=2 THEN 2150
2040 IF X=Z THEN 2100
2050 IF Y=2 THEN 2080
2060 C$="81"
2070 RETURN
2080 C$="63"
2090 RETURN
2100 IF Y=2 THEN 2130
2110 C$="18"
2120 RETURN
2130 C$="36"
2140 RETURN
2150 IF X=Z THEN 2210
2160 IF Y=2 THEN 2190
2170 C$="45"
2180 RETURN
2190 C$="27"
2200 RETURN
2210 IF Y=2 THEN 2240
2220 C$="54"
2230 RETURN
2240 C$="72"
2250 RETURN
2260 W=INT(RND*2+1)
2270 IF W=2 THEN 2390
2280 IF X=Z THEN 2340
2290 IF Y=2 THEN 2320
2300 C$="81"
2310 RETURN
2320 C$="72"
2330 RETURN
2340 IF Y=2 THEN 2370
2350 C$="18"
2360 RETURN
2370 C$="27"
2380 RETURN
2390 IF X=Z THEN 2450
2400 IF Y=2 THEN 2430
2410 C$="63"
2420 RETURN
2430 C$="54"
2440 RETURN
2450 IF Y=2 THEN 2480
2460 C$="36"
2470 RETURN
2480 C$="45"
2490 RETURN
2500 W=INT(RND*2+1)
2510 IF W=2 THEN 2630
2520 IF X=Z THEN 2583
2530 IF Y=2 THEN 2560
2540 C$="36"
2550 RETURN
2560 C$="45"
2570 RETURN
2580 IF Y=2 THEN 2610
2590 C$="63"
2600 RETURN
2610 C$="54"
2620 RETURN
2630 IF X=Z THEN 2690
2640 IF Y=2 THEN 2670
2650 C$="72"
2660 RETURN
2670 C$="81"
2680 RETURN
2690 IF Y=2 THEN 2720
2700 C$="27"
2710 RETURN
2720 C$="18"
2730 RETURN
2740 FOR N=1 TO 9
2750 A(J,N)=104
2760 NEXT N
2770 RETURN
2780 H=104
2790 GOSUB 3000
2800 RETURN
2810 H=104
2820 GOSUB 3100
2830 RETURN
2840 H=104
2850 GOSUB 3190
2860 RETURN
2870 FOR N=1 TO 9
2880 A(J,N)=112
2890 NEXT N
2900 RETURN
2910 H=112
2920 GOSUB 3000
2930 RETURN
2940 H=112
2950 GOSUB 3100
2960 RETURN
2970 H=112
2980 GOSUB 3190
2990 RETURN
3000 A(J,1)=32
3010 A(J,2)=H
3020 A(J,3)=32
3030 A(J,4)=H
3040 A(J,5)=H
3050 A(J,6)=H
3060 A(J,7)=32
3070 A(J,=H
3080 A(J,9)=32
3090 RETURN
3100 FOR N=1 TO 4
3110 A(J,N)=32
3120 NEXT N
3130 A(J,5)=H
3140 A(J,6)=H
3150 A(J,7)=32
3160 A(J,=H
3170 A(J,9)=H
3180 RETURN
3190 FOR N=1 TO 4
3200 A(J,N)=32
3210 NEXT N
3220 A(J,5)=H+1
3230 A(J,6)=H+2
3240 A(J,7)=32
3250 A(J,=H+3
3260 A(J,9)=H+4
3270 RETURN

Runs OK!

Corrections:

2520 IF X=Z THEN 2580
3070 A(J,8)=H
3160 A(J,8)=H
3250 A(J,8)=H+3
 

  • Like 1
Link to comment
Share on other sites

On 2/25/2018 at 6:07 PM, oddemann said:

Matching Game

Skill area Memory

Level: 1,2,3

 

Players from preschoolers to adults can have fun testing their memory skills in "Matching Game." Twenty-four boxes are displayed on the screen, lettered A to X. Initially all of the boxes are empty. There is a total of 12 patterns, and each box has a pattern associated with it (you can think of the pattern as being inside the box). Each of the 12 patterns is inside exactly two of the boxes. You enter a letter between A and X, and the pattern inside that box is displayed. You then enter the letter corresponding to a second box, and the pattern inside that box appears. Then hit the ENTER key. If the two patterns are the same, the computer plays a little tune, and both boxes disappear. If the two patterns are different, the boxes close up again. The player's goal is to clear the screen in as few turns as possible. Since the screen is cleared by pairing identical patterns, you must remember where they are. At first you will be guessing, but within a few turns, you will turn up patterns that have been seen before. The program keeps track of the number of turns that have been taken.

 

The ALPHA LOCK key must be down for this program to work.

 

This program was written by Frank DiDomenico.

 

Matching Game
 

100 REM MATCHING GAME
110 REM FRANK DIDOMENICO
120 CALL CLEAR
130 PRINT "    PLEASE WAIT A MOMENT"
140 FOR QQ=1 TO 12
150 PRINT
160 NEXT QQ
170 DIM CR(24),PATTERN(12),RR(24),CC(24)
180 FOR QQ=1 TO 24
190 READ RR(QQ),CC(QQ)
200 NEXT QQ
210 RANDOMIZE
220 CALL COLOR(9,7,16)
230 CALL COLOR(10,2,16)
240 CALL COLOR(11,13,16)
250 CALL COLOR(12,16,2)
260 CALL COLOR(13,2,16)
270 CALL COLOR(14,5,16)
280 CALL CHAR(92,"FF80808080808080")
290 CALL CHAR(93,"FF01010101010101")
300 CALL CHAR(94,"80808080808080FF")
310 CALL CHAR(95,"01010101010101FF")
320 REM HEART
330 CALL CHAR(96,"00001C3E7F7F7F7F")
340 CALL CHAR(97,"0000387CFEFEFEFE")
350 CALL CHAR(98,"3F1F0F070301")
360 CALL CHAR(99,"FCF8F0E0C080")
370 REM{3 SPACES}SPADE
380 CALL CHAR(104,"0000010303070F1F")
390 CALL CHAR(105,"000080C0C0E0F0F8")
400 CALL CHAR(106,"3F7F7F7D390103")
410 CALL CHAR(107,"FCFEFEBE9C80C0")
420 REM CLUB
430 CALL CHAR(108,"0000030707070301")
440 CALL CHAR(109,"0000C0E0E0E0C030")
450 CALL CHAR(110,"3B7F7F7D390103")
460 CALL CHAR(111,"DCFEFEBE9C80C")
470 REM NESTED SQUARES
480 CALL CHAR(128,"FFFFC0C0CFCFCCCC")
490 CALL CHAR(129,"FFFF0303F3F33333")
500 CALL CHAR(130,"CCCCCFCFC0C0FFFF")
510 CALL CHAR(131,"3333F3F30303FFFF")
520 REM DIAMOND
530 CALL CHAR(100,"000103070F1F3F7F")
540 CALL CHAR(101,"0080C0E0F0F8FCFE")
550 CALL CHAR(102,"7F3F1F0F070301")
560 CALL CHAR(103,"FEFCF8F0E0C080")
570 REM TELEPHONE
580 CALL CHAR(136,"000000000F7F7777")
590 CALL CHAR(137,"00000000F0FEEEEE")
600 CALL CHAR(138,"07073F3F")
610 CALL CHAR(139,"E0E0FCFC")
620 REM FACE
630 CALL CHAR(140,"0F1020408C8C8081")
640 CALL CHAR(141,"F008040231310181")
650 CALL CHAR(142,"819088874020100F")
660 CALL CHAR(143,"810911E1020408F0")
670 REM WHITE CROSS
680 CALL CHAR(124,"0707070707FFFFFF")
690 CALL CHAR(125,"E0E0E0E0E0FFFFFF")
700 CALL CHAR(126,"FFFFFF0707070707")
710 CALL CHAR(127,"FFFFFFE0E0E0E0E0")
720 REM CHECKERBOARD
730 FOR X=120 TO 123
740 CALL CHAR(X,"CCCC3333CCCC3333")
750 NEXT X
760 REM{3 SPACES}FOUR TRIANGLES
770 CALL CHAR(116,"FFFEFCF8F0E0C080")
780 CALL CHAR(117,"FFFEFCF8F0E0C080")
790 CALL CHAR(118,"0103070F1F3F7FFF")
800 CALL CHAR(119,"0103070F1F3F7FFF")
810 REM{3 SPACESjLARGE TRIANGLE
820 CALL CHAR(112,"0")
830 CALL CHAR(113,"0103070F1F3F7FFF")
840 CALL CHAR(114,"0103070F1F3F7FFF")
850 CALL CHAR(115,"FFFFFFFFFFFFFFFF")
860 REM{3 SPACES}BLACK CROSS
870 CALL CHAR(132,"0707070707FFFFFF")
880 CALL CHAR(133,"E0E0E0E0E0FFFFFF")
890 CALL CHAR(134,"FFFFFF0707070707")
900 CALL CHAR(135,"FFFFFFE0E0E0E0E0")
910 REM SCREEN FORMAT
920 PRINT "       MATCHING GAME"::
930 PRINT "    A   B   C   D   E   F"::::
940 PRINT "    G   H   I   J   K   L"::::
950 PRINT "    M   N   O   P   Q   R"::::
960 PRINT "    S   T   U   V   W   X"::::
970 PRINT "NUMBER OF TRYS:"::::
980 C=2
990 R=5
1000 N=92
1010 REM DRAW EMPTY BOXES
1020 FOR BXR=1 TO 4
1030 FOR BX=1 TO 6
1040 C=C+4
1050 GOSUB 1420
1060 NEXT BX
1070 R=R+4
1080 C=2
1090 NEXT BXR
1100 R=22
1110 C=2
1120 M$="PLEASE WAIT FOR A MOMENT"
1130 GOSUB 2190
1140 FOR CELL=1 TO 24
1150 X=INT(RND*12)+1
1160 IF PATTERN(X)>1 THEN 1150
1170 PATTERN(X)=PATTERN(X)+1
1180 CR(CELL)=X
1190 NEXT CELL
1200 CALL HCHAR(22,3,32,24)
1210 R=22
1220 C=2
1230 M$="YOU MAY BEGIN"
1240 GOSUB 2190
1250 CALL KEY(0,KEY,STATUS)
1260 IF STATUS=0 THEN 1250
1270 IF TRY>0 THEN 1290
1280 CALL HCHAR(22,3,32,13)
1290 FIR=KEY
1300 IF (KEY>64)*(KEY<89)THEN 1330
1310 CALL SOUND(500,-3,2)
1320 GOTO 1250
1330 GOSUB 1480
1340 CALL KEY(0,KEY,STATUS)
1350 IF STATUS=0 THEN 1340
1360 IF KEY=FIR THEN 1400
1370 IF KEY>88 THEN 1400
1380 IF KEY<65 THEN 1400
1390 GOSUB 1480
1400 CALL SOUND(500,-3,2)
1410 GOTO 1340
1420 REM DRAWING SUBROUTINE
1430 CALL HCHAR(R,C,N)
1440 CALL HCHAR(R,C+1,N+1)
1450 CALL HCHAR(R+1,C,N+2)
1460 CALL HCHAR(R+1,C+1,N+3)
1470 RETURN
1480 REM SHOW PICKS
1490 PP=KEY-64
1500 N=92+4*CR(PP)
1510 IF PP>12 THEN 1550
1520 R=RR(PP)
1530 C=CC(PP)
1540 GOTO 1670
1550 R=RR(PP)
1560 C=CC(PP)
1570 GOTO 1670
1580 DATA 5,6,5,10,5,14
1590 DATA 5,18,5,22,5,26
1600 DATA 9,6,9,10,9,14
1610 DATA 9,18,9,22,9,26
1620 DATA 13,6,13,10,13,14
1630 DATA 13,18,13,22,13,26
1640 DATA 17,6,17,10,17,14
1650 DATA 17,18,17,22,17,26
1660 GOTO 1670
1670 IF WQ=1 THEN 1710
1680 CALL GCHAR(R-1,C+1,CK)
1690 IF CK=32 THEN 1310
1700 GOTO 1730
1710 CALL GCHAR(R-1,C+1,CK)
1720 IF CK=32 THEN 1400
1730 GOSUB 1420
1740 WQ=WQ+1
1750 IF WQ=2 THEN 1800
1760 R1=R
1770 C1=C
1780 PP1=CR(PP)
1790 RETURN
1800 CALL KEY(0,KEY,STATUS)
1810 IF STATUS=0 THEN 1800
1820 IF KEY<>13 THEN 1800
1830 TRY=TRY+1
1840 TRYT=INT(TRY/10)
1850 TRYO=TRY-TRYT*10
1860 A$=STR$(TRYT)
1870 B$=STR$(TRYO)
1880 IF TRY<10 THEN 1900
1890 CALL HCHAR(20,18,ASC(A$))
1900 CALL HCHAR(20,19,ASC(B$))
1910 CALL VCHAR(20,12,32,2)
1920 R2=R
1930 C2=C
1940 PP2=CR(PP)
1950 IF PPK>PP2 THEN 2100
1960 FOR PT=1 TO 7
1970 RTU=RND*1300+110
1980 CALL SOUND(175,RTU,4)
1990 NEXT PT
2000 CALL HCHAR(R1-1,C1,32,3)
2010 CALL HCHAR(R1,C1,32,3)
2020 CALL HCHAR(R1+1,C1,32,3)
2030 CALL HCHAR(R2-1,C2,32,3)
2040 CALL HCHAR(R2,C2,32,3)
2050 CALL HCHAR(R2+1,C2,32,3)
2060 WQ=0
2070 RT=RT+1
2080 IF RT<>12 THEN 1250
2090 GOTO 2250
2100 R=R1
2110 C=C1
2120 N=92
2130 GOSUB 1420
2140 R=R2
2150 C=C2
2160 GOSUB 1420
2170 WQ=0
2180 GOTO 1250
2190 REM PRINT CHARACTERS
2200 FOR II=1 TO LEN(M$)
2210 CODE=ASC(SEG$(M$,II,1))
2220 CALL HCHAR(R,C+II,CODE)
2230 NEXT II
2240 RETURN
2250 RT=0
2260 FOR DELAY=1 TO 700
2270 NEXT DELAY
2280 CALL CLEAR
2290 PRINT "IT TOOK YOU ";(TRY);TAB(17);"TRYS TO"
2300 PRINT "FINISH THE GAME."
2310 PRINT ::
2320 TRY=0
2330 INPUT "IF YOU WANT TO PLAY AGAIN   ENTER Y, IF NOT ENTER N : ":Q$
2340 IF ASC(Q$)=89 THEN 2420
2350 IF ASC(Q$)<>78 THEN 2330
2360 PRINT ::
2370 PRINT "SEE YOU NEXT TIME!":::
2380 FOR DELAY=1 TO 500
2390 NEXT DELAY
2400 CALL CLEAR
2410 END
2420 FOR N=1 TO 12
2430 PATTERN(N)=0
2440 NEXT N
2450 CALL CLEAR
2460 GOTO 910
Something is not OK!!!

One critical correction:

1950 IF PP1<>PP2 THEN 2100

 

  • Like 1
Link to comment
Share on other sites

On 2/25/2018 at 6:21 PM, oddemann said:
Anti-Aircraft
Skill area: Coordination
Level;1,2
 
"Anti-Aircraft" is the onlyshoot-em-up arcade-type game included in thisbook. In Anti-Aircraft youoperate an anti-aircraft gun at the bottom ofthe screen.Hittingthe two arrowkeys, S and D,
 
moves the gun backand forth across the screen, and hitting the F key fires the gun. The goal is to shoot down as many enemy planes as possible while avoiding the bombs the enemy planes drop
 
on the gun. The amount of ammunition is limited to 50 bullets, so you should not shoot unless you are fairly certain that you will hit a plane. In orderto score a hit, it is necessary to
 
lead your shot; that is, you should fire in front of where the plane actually is so that the bullet will in fact hit the moving plane. The computer keeps track of the number of planes that
 
are hit. The game is over when one of three things happens: you run out of ammunition; 50 planes have flown overhead; or a bomb from one of the planes hits your gun.
 
Anti-Aircraft
 

100 REM ANTI-AIRCRAFT
110 REM
120 CALL CLEAR
130 DIM RR(10),CC(10)
140 RANDOMIZE
150 FOR N=l TO 10
160 RR(N)=1
170 CC(N)=16
180 NEXT N
190 BR=22
200 BC=16
210 CALL CHAR(97,"181818181818FFFF")
220 CALL CHAR(98,"0000001818")
230 CALL CHAR(99,"FFFFFFFFFFFFFFFF")
240 CALL CHAR(100,"0000181818180000")ff
250 CALL HCHAR(23,3,99,28)
260 COL=16
270 CALL HCHAR(22,COL,97)
280 CALL HCHAR(22,3,99,10)
290 CALL HCHAR(22,20,99,11)
300 A=5
310 AA=0
320 SCORE=0
330 SCORE2=0
340 CALL HCHAR(24,25,A+48)
350 CALL HCHAR(24,26,AA+48)
360 SIDE=INT(RND*2+1)
370 C=5
380 IF SIDE=1 THEN 410
390 SIDE=-1
400 C=28
410 R=INT(RND*10+10)
420 CALL HCHAR(R,C,42)
430 C0UNT=C0UNT+1
440 IF COUNT>50 THEN 1360
450 CALL KEY(0,K,S)
460 IF K=83 THEN 830
470 IF K=68 THEN 880
480 IF K=70 THEN 930
490 IF BR=22 THEN 590
500 CALL HCHAR(BR,BC,32)
510 BR=BR+1
520 IF BR<22 THEN 580
530 CALL GCHAR(BR,3C,G)
540 CALL GCHAR(BR,BC+1,GG)
550 CALL GCHAR(BR,BC-1,GGG)
560 IF (G=97)+(GG=97)+(GGG=97)THEN 1320
570 GOTO 590
580 CALL HCHAR(BR,BC,100)
590 FOR N=l TO 10
600 IF RR(N)<2 THEN 680
610 CALL HCHAR(RR(N),CC(N),32)
620 RR(N)=RR(N)-1
630 CALL GCHAR(RR(N),CC(N),G)
640 IF G=42 THEN 1120
650 CALL HCHAR(RR(N),CC(N),98)
660 IF RR(N)>2 THEN 680
670 CALL HCHAR(RR(N),CC(N),32)
680 NEXT N
690 CALL HCHAR(R,C,32)
700 C=C+SIDE
710 IF (SIDE=-1)*(C<12)THEN 360
720 IF (SIDE=1)*(O20)THEN 360
730 CALL GCHAR(R,C,G)
740 IF G=98 THEN 1090
750 CALL HCHAR(R,C,42)
760 IF C<>COL THEN 450
770 IF BR=22 THEN 790
780 CALL HCHAR(BR,BC,32)
790 BR=R+1
300 BC=C
810 CALL HCHAR(BR,BC,100)
820 GOTO 450
830 IF COL=13 THEN 590
840 CALL HCHAR(22,COL,32)
850 COL=COL-l
860 CALL HCHAR(22,COL,97)
870 GOTO 590
880 IF COL=19 THEN 590
890 CALL HCHAR(22,COL,32)
900 COL=COL+l
910 CALL HCHAR(22,COL,97)
920 GOTO 590
930 M=M+1
940 IF M<11 THEN 960
950 M=1
960 CC(M)=COL
970 RR(M)=21
980 CALL SOUND(50,-7,3)
990 CALL HCHAR(RR(M),CC(M),98)
1000 AA=AA-1
1010 IF AA=-1 THEN 1040
1020 CALL HCHAR(24,26,AA+48)
1030 GOTO 590
1040 A=A-1
1050 IF A=-l THEN 1360
1060 CALL HCHAR(24,25,A+48)
1070 AA=9
1080 GOTO 1020
1090 FOR N=1 TO 10
1100 IF (RR(N)=R)*(CC(N)=C)THEN 1120
1110 NEXT N
1120 CALL SOUND(1000,-7,3)
1130 CALL HCHAR(R,C,32)
1140 X=98
1150 GOSUB 1270
1160 X=32
1170 GOSUB 1270
1180 RR(N)=1
1190 SCORE=SCORE+l
1200 IF SCORE=10 THEN 1230
1210 CALL HCHAR(24,6,SC0RE+48)
1220 GOTO 350
1230 SCORE2=SCORE2+1
1240 SCORE=0
1250 CALL HCHAR(24,5,SCORE2+48)
1260 GOTO 1210
1270 CALL HCHAR(R+1,C,X)
1280 CALL HCHAR(R,C-1,X)
1290 CALL HCHAR(R-1,C,X)
1300 CALL HCHAR(R,C+1,X)
1310 RETURN
1320 CALL SOUND(1000,-7,3)
1330 CALL HCHAR(22,13,32,7)
1340 FOR DELAY=1 TO 1000
1350 NEXT DELAY
1360 CALL CLEAR
1370 PRINT TAB(11);"GAME OVER"::::::::
1380 PRINT " YOU SHOT DOWN"; 10*SCORE2+SCORE; "PLANES.":::::::
1390 END

Bad value in 810!!!

This one was full of bugs:

Overwrite the original program with this:

150 FOR N=1 TO 10
240 CALL CHAR(100,"0000181818180000")
300 A=5
430 COUNT=COUNT+1
530 CALL GCHAR(BR,BC,G)
590 FOR N=1 TO 10
720 IF (SIDE=1)*(C>20)THEN 360
800 BC=C
850 COL=COL-1
900 COL=COL+1
1050 IF A=-1 THEN 1360
1190 SCORE=SCORE+1
1210 CALL HCHAR(24,6,SCORE+48)

 

  • Like 1
Link to comment
Share on other sites

On 2/25/2018 at 6:49 PM, oddemann said:
Arithmetic Practice
Skill area: Mathematics
Level: 1,2,3
 
Practice!Practice!Practice! Wewere told that was the best way to learn our arithmetic facts. But practice was so boring. Then came the computer.
 
Children don't mind practice quite so much when it involves the use of their computer. This is the idea behind "Arithmetic Practice."
 
Arithmetic Practice allows you to practice any of the four basic arithmetic functions. Once you have decided which type of problem to practice, you must select the range of numbers for the
problems. This allowsyou to practiceat the appropriate level. When asked for the range of the first number, you should enter two numbers separated by a comma. The second number must be equal to or greater than the first. The computer then asks for the range of the second number, and the child enters two numbers again.
 
Suppose it is a subtraction problem. The first number is the number that the second number will be subtracted from. For someone who is just learning subtraction, the range entered might be 5 to 9. The second number is the number to be subtracted from the first number. For our example, suppose that the range entered was 1 to 4. Thus, the program would generate problems in hich
the top number would be any number between 5 and 9, and the bottom number would be any number between 1 and 4. Thus, the following problems might be presented:
 
6 9 8
-1-4-2
 
The program also asks how many problems you want, and any number can be entered.
 
Division presents special problems. If you indicate division problems, the program then asks which of three possible options you want. Option 1 includes only those problems which come out even —without a remainder or decimal in the answer. Option 2 involves problems which can have a remainder. In this case, after you enter the answer, the program asks for the remainder, and you must get both the answer and the remainder correct. The third option involves carrying each answer out to three decimal places.
 
In division problems, the first number is the dividend and the second number is the divisor. In other words, the format will be "first number divided by second number."
 
Care must be taken when entering the range of numbers for division problems. Be sure the range of numbers for the first number is greater than the range of numbers for the second. For example, if you enter 6,10 for the first number be sure that the range for the second number begins below 6 (3, 8 would be acceptable).
 
Arithmetic Practice
 

100 REM ARITHMETIC PRACTICE
110 REM
120 CALL CLEAR
130 PRINT TAB(4);"ARITHMETIC PROBLEMS"::::
140 PRINT " WHAT KIND OF PROBLEMS DO    YOU WANT?"::
150 PRINT TAB(4);"ADDITION (1)"
160 PRINT TAB(4);"SUBTRACTION (2)"
170 PRINT TAB(4);"MULTIPLICATION (3)"
180 PRINT TAB(4);"DIVISION (4)"::
190 INPUT T
200 IF (T>0)*(T<5)THEN 230
210 PRINT ::"TRY AGAIN"::
220 GOTO 120
230 IF T=4 THEN 1020
238 PRINT
239 PRINT
240 PRINT "ENTER THE RANGE OF THE      FIRST NUMBER (2 NUMBERS     SEPARATED BY A COMMA)"
250 INPUT A,B
260 IF A>B THEN 960
270 PRINT
280 PRINT "ENTER THE RANGE OF THE      SECOND NUMBER (2 NUMBERS    SEPARATED BY A COMMA)"
290 INPUT C,D
300 IF O>D THEN 980
310 RANDOMIZE
319 PRINT ::
320 PRINT "HOW MANY PROBLEMS DO YOU    WANT?"
330 INPUT N
340 FOR J=l TO N
350 F=INT(RND*(1+B-A)+A)
360 G=INT(RND*(1+D-C)+C)
370 LF=LEN(STR$(F))
380 LG=LEN(STR$(G))
390 CALL CLEAR
400 ON T GOTO 610,670,750,810
410 INPUT "    ":GUESS
420 IF (T=4)*(TT=2)THEN 1120
430 IF GUESS=ANS THEN 480
440 PRINT "WRONG! TRY AGAIN."
450 FOR DELAY=1 TO 300
460 NEXT DELAY
470 GOTO 390
480 PRINT TAB(4);"CORRECT"
490 FOR DELAY=1 TO 300
500 NEXT DELAY
510 NEXT J
520 CALL CLEAR
530 PRINT "DO YOU WANT TO TRY MORE     PROBLEMS (Y OR N)?"::
540 CALL KEY(0,K,S)
550 IF S=0 THEN 540
560 IF (K=89)+(K=121)THEN 120
570 IF (K=78)+(K=110)THEN 590
580 GOTO 540
590 CALL CLEAR
600 END
610 REM ADDITION
620 PRINT TAB(8-LF);F
630 PRINT TAB(6-LG);"+";TAB(8-LG);G
640 PRINT TAB(3);" "
650 ANS=F+G
660 GOTO 410
670 REM SUBTRACTION
680 IF B<=C THEN 1000
690 IF F<G THEN 350
700 PRINT TAB(8-LF);F
710 PRINT TAB(6-LG);"-";TAB(8-LG);G
720 PRINT TAB(3);" "
730 ANS=F-G
740 GOTO 410
750 REM MULTIPLICATION ^ 760 PRINT TAB(8-LF);F
770 PRINT TAB(6-LG);"x";TAB(8-LG);G ^
780 PRINT TAB(3);" "
790 ANS=F*G
800 GOTO 410
810 REM DIVISION
820 IF B<=C THEN 1000
830 IF G>F THEN 350
840 ON TT GOTO 850,880,920
850 IF INT(F/G)<(F/G)THEN 350
860 ANS=F/G
870 GOTO 930
880 ANS=INT(F/G)
890 R=(F/G)-ANS
900 R=INT(R*G+.00001)
910 GOTO 930
920 ANS=(INT(1000*F/G))/1000
930 PRINT TAB(;"
940 PRINT TAB(6-LG);G;")";F:::
950 GOTO 410
960 PRINT "THE SECOND NUMBER MUST BEt3 SPACES}GREATER THAN OR EQUAL TO{4 SPACES}THE FIRST. TRY AGAIN."
970 GOTO 250
980 PRINT "THE SECOND NUMBER MUST BE{3 SPACES}GREATER THAN OR EQUAL TO{4 SPACES}THE FIRST. TRY AGAIN."
990 GOTO 290
1000 PRINT "THE SECOND NUMBER MUST BE{3 SPACES}LESS THAN THE FIRST.{8 SPACES}TRY AGAIN."
1010 GOTO 240
1020 PRINT :"WHICH TYPE OF DIVISION{6 SPACES}PROBLEM DO YOU WANT?"::
1030 PRINT "ALL ANSWERS ARE WHOLE{7 SPACES}NUMBERS(1) ": :
1040 PRINT "ANSWERS WITH REMAINDERS (2)"::
1050 PRINT "ANSWERS WITH DECIMALS TO{4 SPACES}THREE PLACES (3)"
1060 INPUT TT
1070 IF (TT>0)*(TT<4)THEN 1100
1080 PRINT "TRY AGAIN."
1090 GOTO 1060
1100 PRINT ::"FOR DIVISION PROBLEMS, THE FIRST NUMBER IS THE DIVIDENDAND THE SECOND NUMBER IS    THE DIVISOR."::
1110 GOTO 240
1120 INPUT "REMAINDER ": RR
1130 IF RORR THEN 440
1140 GOTO 430

Think I got all the bugs!

Many corrections needed:

300 IF C>D THEN 980
340 FOR J=1 TO N
640 PRINT TAB(3);"______"
720 PRINT TAB(3);"______"
750 REM MULTIPLICATION 
760 PRINT TAB(8-LF);F
770 PRINT TAB(6-LG);"x";TAB(8-LG);G
780 PRINT TAB(3);"______"
930 PRINT TAB(8);"     "
960 PRINT "THE SECOND NUMBER MUST BE   GREATER THAN OR EQUAL TO    THE FIRST. TRY AGAIN."
970 GOTO 250
980 PRINT "THE SECOND NUMBER MUST BE   GREATER THAN OR EQUAL TO    THE FIRST. TRY AGAIN."
990 GOTO 290
1000 PRINT "THE SECOND NUMBER MUST BE   LESS THAN THE FIRST.        TRY AGAIN."
1010 GOTO 240
1020 PRINT :"WHICH TYPE OF DIVISION      PROBLEM DO YOU WANT?"::
1030 PRINT "ALL ANSWERS ARE WHOLE       NUMBERS(1) ": :
1040 PRINT "ANSWERS WITH REMAINDERS (2)"::
1050 PRINT "ANSWERS WITH DECIMALS TO    THREE PLACES (3)"
1100 PRINT::"FOR DIVISION PROBLEMS, THE  FIRST NUMBER IS THE DIVIDENDAND THE SECOND NUMBER IS    THE DIVISOR."::
1130 IF R<>RR THEN 440

  • Like 1
Link to comment
Share on other sites

On 2/25/2018 at 7:00 PM, oddemann said:
Lvl 2 Games
 
Leaping Lizzie
Skill area Coordination
LeveL 2,3
 
There is a row of platforms across the screen. Unfortunately, some of them are missing. Lizzie hops from one platform to another. Normally, she doesn't need any help from you, but when a plat form or platforms are missing, you must make Lizzie leap over the openings. Otherwise, Lizzie falls to the bottom of the screen. If there is one platform missing, you must hit the 1 key just as Lizzie lands on the prior platform. If there are two consecutive platforms missing, you must hit the 2 key, and so on.
 
To cross the screen, Lizzie must land on all the platforms and avoid falling through any openings. If she gets completely across the screen without falling and without missing any platforms, you get 200 points. If Lizzie gets completely across the screen ms without falling, but having missed one platform, you get 100 points. You get no points if Lizzie gets across the screen but has missed two or more platforms. It is easy to see whether Lizzie m> has missed any platforms, because a platform disappears when she lands on it. Any platforms remaining at the end of a round were missed. Once the round is over, a new row of platforms appears and you must help get Lizzie across again.
 
With each round, the pace of the game speeds up slightly. Lizzie is permitted to fall twice, and the game is over after she falls the third time.
 
The speed of the game is controlled by two variables, DD and D, defined in lines 170 and 180, respectively. DD determines the speed of the initial round, and D determines how quickly the game speeds up. The higher DD is set initially,the slower the game. The higher D is set, the faster the pace of the game speeds up. If the game is playing too quickly, you can set DD equal to 150 instead of 100 in line 170, or if you want the game to play slowly for more rounds, set D equal to 5 instead of 10 in line 180.
 
 
Leaping Lizzie
 

100 REM LEAPING LIZZIE
110 REM
120 CALL CLEAR
130 RANDOMIZE
140 CALL CHAR(128,"18187E1818242424")
150 CALL CHAR(129,"7E7E181818181818")
160 CALL CHAR(130,"1818")
170 DD=100
180 D=10
190 MEN=3
200 CALL HCHAR(5,6,48,3)
210 CALL HCHAR(5,26,128,2)
220 CALL HCHAR(15,3,129,27)
230 CALL HCHAR(16,3,130,27)
240 FOR N=7 TO 27
250 X=RND
260 IF X<.6 THEN 280
270 CALL HCHAR(15,N,32)
280 NEXT N
290 C=3
300 CALL HCHAR(14,C,128)
310 FOR DELAY=1 TO DD
320 NEXT DELAY
330 CALL KEY(0,K,S)
340 FOR DELAY=1 TO DD
350 NEXT DELAY
360 IF (K>48)*(K<57)THEN 780
370 J=1
380 CALL VCHAR(14,C,32,2)
390 CALL SOUND(100,300,3)
400 C=C+J
410 IF C>29 THEN 550
420 CALL HCHAR(14,C,128)
430 CALL GCHAR(15,C,G)
440 IF G=129 THEN 310
450 CALL SOUND(1000,-3,3)
460 FOR N=14 TO 22
470 CALL HCHAR(N,C,32)
480 CALL HCHAR(N+1,C,128)
490 NEXT N
500 CALL HCHAR(23,C,32)
510 MEN=MEN-1
520 IF MEN=0 THEN 800
530 CALL HCHAR(5,28-MEN,32)
540 GOTO 220
550 SCORE=0
560 FOR N=3 TO 29
570 CALL GCHAR(15,N,G)
580 IF G<>129 THEN 600
590 SC0RE=SC0RE+1
600 NEXT N
610 IF SC0RE>1 THEN 670
620 IF SC0RE=1 THEN 700
630 SC=SC+2
640 IF SC>9 THEN 740
650 CALL HCHAR(5,6,SC+48)
660 IF DD<20 THEN 220
670 DD=DD-D
680 IF DD<60 THEN 720
690 GOTO 220
700 SC=SC+1
710 GOTO 640
720 D=5
730 GOTO 690
740 SC=SC-10
750 SC1=SC1+1
760 CALL HCHAR(5,5,SCl+48)
770 GOTO 650
780 J=K-47
790 GOTO 380
800 END

Looks like it is OK or is the score not OK?

Corrections:

590 SCORE=SCORE+1
610 IF SCORE>1 THEN 670
620 IF SCORE=1 THEN 700
760 CALL HCHAR(5,5,SC1+48)

  • Like 1
Link to comment
Share on other sites

On 2/25/2018 at 7:40 PM, oddemann said:
Soccer Goalie
Skill area: Coordination
Level: 2,3
 
You have been drafted as the new goalie for your hometown soccer team. The team has not been doing very well, so everyone is
depending on you to improve the team's standing in the league.
 
"SoccerGoalie" is a game for one or two players. The goalie's job is to catch soccer balls that are sent toward the goal on a ran dom path. If there is only one player, the goal is the bottom of the screen, and the balls come from the top. The goalie is moved back and forth with the D and S keys. The computer displays the number of saves which the goaliehas made and the number of goals scored against him.
 
If there are two players, the second player is at the top of the screen and blocks balls coming from the bottom of the screen. This player is moved with the J and K keys.The players alternate turns. The computer displays the number of saves and the number of goals scored against each player.
 
Soccer Goalie has two levels of difficulty. At level 1 the goalie has to be within only one column of the ball to make a save, while at level 2, the goalie has to be on exactly the correct column.
 
Soccer Goalie
 

100 REM SOCCER GOALIE
110 REM
120 CALL CLEAR
130 RANDOMIZE
140 DIM ROW(2),COL(2),SAVES(2),GOALS(2)
150 INPUT "DIFFICULTY LEVEL (1 OR 2)?":L
160 IF (L=1)+(L=2)THEN 190
170 PRINT :"TRY AGAIN"::
180 GOTO 150
190 INPUT "HOW MANY PLAYERS (1 OR 2)?":N
200 IF N=1 THEN 270
210 IF N=2 THEN 240
220 PRINT :"TRY AGAIN."::
230 GOTO 190
240 PRINT :"PLAYER 1 IS ON THE BOTTOM   AND USES THE S AND D KEYS."::
250 PRINT "PLAYER 2 IS ON THE TOP AND USES THE J AND K KEYS."::
260 GOTO 280
270 PRINT :"USE THE S AND D KEYS TO     MOVE GOALIE."::
280 PRINT "THE ALPHA LOCK KEY MUST BE DOWN."::
281 PRINT "HIT ANY KEY TO CONTINUE."
290 CALL KEY(0,K,S)
300 IF S=0 THEN 290
310 CALL CLEAR
320 CALL CHAR(100,"003C7E7E7E7E3C00")
330 CALL CHAR(101,"1818FFFF18242424")
340 ROW(1)=21
350 ROW(2)=3
360 COL(1)=15
370 COL(2)=15
380 IF N=l THEN 410
390 PRINT TAB(3);"SAVES";TAB(20);"GOALS"::::::::::
400 CALL HCHAR(4,15,101)
410 PRINT TAB(3);"SAVES";TAB(20);"GOALS"
420 CALL HCHAR(21,15,101)
430 FOR P=1 TO N
440 X=INT(RND*26+4)
450 Y=INT(RND*22+6)
460 D=(Y-X)/16
470 IF P=1 THEN 510
480 R=19
490 RD=-1
500 GOTO 530
510 R=5
520 RD=1
530 CALL HCHAR(R,X,32)
540 R=R+RD
550 X=X+D
560 IF R=ROW(P)THEN 680
570 CALL HCHAR(R,X,100)
580 CALL HCHAR(ROW(P),COL(P),32)
590 CALL KEY(P,K,S)
600 IF (K=2)*(COL(P)>5)THEN 630
610 IF (K=3)*(COL(P)<29)THEN 650
620 GOTO 660
630 COL(P)=COL(P)-1
640 GOTO 660
650 COL(P)=COL(P)+1
660 CALL HCHAR(ROW(P),COL(P),101)
670 GOTO 530
680 CALL GCHAR(R,X,G)
690 IF L=2 THEN 720
700 CALL GCHAR(R,X+1,GG)
710 CALL GCHAR(R,X-1,GGG)
720 IF (G=101)+(GG=101)+(GGG=101)THEN 810
730 CALL HCHAR(R,X,100)
740 CALL SOUND(100,-3,3)
750 FOR DELAY=1 TO 100
760 NEXT DELAY
770 GOALS(P)=GOALS(P)+1
780 CALL HCHAR(R,X,32)
790 GOSUB 870 ^ 800 GOTO 850
810 SAVES(P)=SAVES(P)+1
820 CALL SOUND(50,300,3)
830 GOSUB 870
840 GOTO 850
850 NEXT P
860 GOTO 430
870 T$=STR$ (SAVES(P))
880 IF (SAVES(P)>99)+(GOALS(P)>99)THEN 970
890 CALL HCHAR(ROW(P)+2*RD,11,ASC(SEG$(T$,1,1)))
900 IF LEN(T$)=1 THEN 920
910 CALL HCHAR(ROW(P)+2*RD,12,ASC(SEG$(T$,2,1)))
920 T$=STR$(GOALS(P))
930 CALL HCHAR(ROW(P)+2*RD,28,ASC(SEG$(T$,1,1)))
940 IF LEN(T$)=1 THEN 960
950 CALL HCHAR(ROW(P)+2*RD,29,ASC(SEG$(T$,2,1)))
960 RETURN
970 M$="GAME OVER"
980 FOR Z=1 TO 9
990 CALL HCHAR(12,10+Z,ASC(SEG$(M$,Z,1)))
1000 NEXT Z
1010 FOR DELAY=1 TO 1000
1020 NEXT DELAY
1030 END

Some problem with the "counter" it keeps going and going and you save almost everything even if your NOT close! BUG!!!

Corrections:

250 PRINT "PLAYER 2 IS ON THE TOP AND  USES THE J AND K KEYS."::
280 PRINT "THE ALPHA LOCK KEY MUST BE  DOWN."::
380 IF N=1 THEN 410
390 PRINT TAB(3);"SAVES";TAB(20);"GOALS"::::::::::::::::::::::
790 GOSUB 870
800 GOTO 850
870 T$=STR$(SAVES(P))

 

  • Like 2
Link to comment
Share on other sites

On 2/25/2018 at 8:05 PM, oddemann said:
Dicey
Skill area Strategy
LeveL 2,3
 
To play "Dicey," you must be able to do simple addition. The game involves throwing two dice. There are two players. When it is your turn, you can throw the dice as many times as you wish until one of two things happens: Either you voluntarily stop, or you throw doubles (both dice the same). If you stop voluntarily, your score for that turn is the total of all of your rolls on that turn. If you throw doubles, your score on that turn is zero. Each player has a total of six turns. The strategy comes in trying to decide when to stop rolling and accept your present score for that turn. It's always tempting to throw just one more time, but there is the risk that you will throw doubles and lose everything.
 
Let's say Jason and Jessica are the two players. Jason goes first, and on his first roll he gets a 3 and 2. He chooses to roll again, and he gets a 6 and 5. He chooses to roll again, and he gets a 5 and 1. Now he chooses to stop, so his score for that round is 22, which is the total of all of his rolls. Jessica then takes her turn. She rolls a 4 and 2 on the first round, a 6 and 1 on the second roll, and a 3 and 3 on the third roll. Since this is doubles, her score for this round is zero. The score at the end of the first round is 22 for Jason and 0 for Jessica.
 
On the second round, Jason rolls a 5 and 3 on the first roll, and two 6's on the second roll. He scores nothing for this round, but he still has his 22 from the first round. Jessica rolls a 6 and 5 on the first roll of her turn, a 3 and 2 on the second roll of her turn, 6 and 1 on the third roll of her turn, a 4 and 1 on the fourth roll of her turn, and a 1 and 3 on the fifth roll of her turn. She chooses to stop rather than roll again on that turn, so her score for the second round is 32. At the end of two rounds, the score is 22 for Jason and 32 for Jessica.
 
There are a total of six rounds in a game, and the player with the higher score at the end of the six rounds is the winner.
 
This game can be played either by two players, with the computer simply keeping track of each player's score and rolling the dice, or one player can play against the computer. The program first asks for the number of players. If 1 is entered, then it is assumed that the one player is playing against the computer. If 2 is entered, then it is assumed that two players are playing against each other. The names of the one or two players are then entered, and then the computer asks who goes first. At this time, type in either a player's name or the word COMPUTER. If there are two people playing, typing in the word COMPUTER would get an error message.
 
The display for each round will show the round number, whose turn it is, each player's score prior to that round, and the score for this round. After each roll, the computer asks you whether you want to roll again. When it's the computers turn, all you do is watch, since the computer's playing strategy is built into the program.
 
Dicey


 

100 REM DICEY
110 REM
120 CALL CLEAR
130 DIM A$(9),B(9),NAME$(2),SCORE(2)
140 RANDOMIZE
150 ROUND=1
160 CALL CHAR(42,"0")
170 CALL CHAR(43,"0000001818")
180 NAME$(2)="COMPUTER"
190 INPUT "NUMBER OF PLAYERS(1 OR 2)":P
200 IF (P=1)+(P=2)THEN 230
210 PRINT "ONLY 1 OR 2 CAN PLAY. TRY   AGAIN."
220 GOTO 190
230 FOR N=0 TO P
240 PRINT "NAME OF PLAYER"; P
250 INPUT NAME$(N)
260 NEXT N
270 PRINT "WHO GOES FIRST, ";NAME$(1);" OR ";NAME$(2)
280 INPUT C$
290 IF C$=NAME$(1)THEN 330
300 IF C$=NAME$(2)THEN 840
310 PRINT "TRY AGAIN."
320 GOTO 280
330 T=1
340 CALL CLEAR
350 CALL COLOR(2,2,16)
360 PRINT "ROUND";INT(ROUND/2+.5)::
370 PRINT NAME$(T);"'S TURN"::
380 PRINT NAME$(1);"'S SCORE IS";SCORE(1)
390 PRINT NAME$(2);"'S SCORE IS";SCORE(2)
400 PRINT "SCORE FOR THIS ROUND"::
410 CALL HCHAR(23,4,32,20)
420 X=INT(RND*6+1)
430 Y=INT(RND*6+1)
440 FOR N=3 TO 5
450 CALL HCHAR(N,8,32,10)
460 NEXT N
470 ON X GOSUB 1020,1040,1060,1080,1100,1120
480 COL=8
490 GOSUB 1140
500 ON Y GOSUB 1020,1040,1060,1080,1100,1120
510 COL=12
520 GOSUB 1140
530 IF X=Y THEN 700
540 SUM=SUM+X+Y
550 D1=D1+X+Y
560 IF D1>9 THEN 1280
570 CALL HCHAR(21,26,D1+48)
580 IF NAME$(T)="COMPUTER" THEN 860
590 M$="AGAIN Y OR N ?"
600 FOR M=1 TO LEN(M$)
610 S$=SEG$(M$,M,1)
620 CALL HCHAR(23,3+M,ASC(S$))
630 NEXT M
640 CALL KEY(0,K,S)
650 IF K=78 THEN 680
660 IF K=89 THEN 410
670 GOTO 640
680 SCORE(T)=SCORE(T)+SUM1
690 GOTO 710
700 CALL SOUND(500,-3,3)
710 T=T+1
720 IF T=3 THEN 820
730 ROUND=ROUND+1
740 FOR DELAY=1 TO 300
750 NEXT DELAY
760 IF ROUND=13 THEN 1410
770 SUM=0
780 D1=0
790 D2=0
800 D3=0
810 GOTO 340
820 T=1
830 GOTO 730
840 T=2
850 GOTO 340
860 FOR DELAY=1 TO 600
870 NEXT DELAY
880 DIFF=SCORE(1)-SCORE(2)
890 IF ROUND/2=INT(ROUND/2)THEN 920
900 TARGET=DIFF+28
910 GOTO 940
920 TARGET=DIFF+1
930 IF ROUND=12 THEN 960
940 IF TARGET<28 THEN 980
950 IF TARGET>40 THEN 1000
960 IF SUM>TARGET THEN 680
970 GOTO 410
980 TARGET=28
990 GOTO 960
1000 TARGET=40
1010 GOTO 960
1020 C$="****+****"
1030 RETURN
1040 C$="**+***+**"
1050 RETURN
1060 c$="+***+***+"
1070 RETURN
1080 c$="+*+***+*+"
1090 RETURN
1100 C$="+*+*+*+*+"
1110 RETURN
1120 C$="+*++*++*+"
1130 RETURN
1140 FOR N=1 TO 9
1150 A$(N)=SEG$(C$,N,1)
1160 B(N)=ASC(A$(N))
1170 NEXT N
1180 CALL HCHAR(3,COL,B(1))
1190 CALL HCHAR(3,COL+1,B(2))
1200 CALL HCHAR(3,COL+2,B(3))
1210 CALL HCHAR(4,COL,B(4))
1220 CALL HCHAR(4,COL+1,B(5))
1230 CALL HCHAR(4,COL+2,B(6))
1240 CALL HCHAR(5,COL,B(7))
1250 CALL HCHAR(5,COL+1,B()
1260 CALL HCHAR(5,COL+2,B(9))
1270 RETURN
1280 D1=D1-10
1290 IF D1>9 THEN 1380
1300 D2=D2+1
1310 IF D2>9 THEN 1340
1320 CALL HCHAR(21,25,D2+48)
1330 GOTO 570
1340 D2=0
1350 D3=D3+1
1360 CALL HCHAR(21,24,D3+48)
1370 GOTO 1320
1380 D1=D1-10
1390 D2=D2+1
1400 GOTO 1300
1410 CALL CLEAR
1420 PRINT "THE GAME IS OVER"
1430 PRINT NAME$(1);"'S SCORE WAS";SCORE(1)
1440 PRINT NAME$(2);"'S SCORE WAS";SCORE(2)
1450 PRINT :::::::
1460 END

BUGS!!!

Corrections:

230 FOR N=1 TO P
240 PRINT "NAME OF PLAYER";N
360 PRINT "ROUND";INT(ROUND/2+.5):::
400 PRINT "SCORE FOR THIS ROUND":::
680 SCORE(T)=SCORE(T)+SUM
1250 CALL HCHAR(5,COL+1,B(8))

 

  • Like 1
Link to comment
Share on other sites

On 2/26/2018 at 4:43 AM, oddemann said:
Copy Cat
Skill area Memory
Level: 2,3
 
Up to four people can play "Copy Cat," which involves remember ing and copying a progressively longer chain of colors. On each player's turn, the computer produces a chain of colors, which it displays by changing the color of the screen. It starts by showing the first color. You have to copy that by hitting the appropriate key. There are four possible colors: green, blue, red and yellow. The 1 key produces green; 2 produces blue; 3 produces red; and 4 produces yellow.Whenever a color is shown, there is a sound associated with it, ranging from a very low-pitched tone for green to a very high-pitched tone for yellow.
 
Suppose it is Naomi's turn. The computer changes the color for the screen from its normal white to blue for a moment, plays the tone associated with blue, and prints the number 2 in the center of the screen. Naomi then has to hit the key corresponding to the color, in this case the 2 key. If she is correct, the computer extends the chain by one. First it would flash blue, then it would flash a second color, like red or even blue again. Naomi must now hit the 2 key, then the 3 key. As she hits each key, the color of the screen changes for a moment and the appropriate tone sounds. If she is correct, the computer again adds a color to the chain. Suppose that this time it flashes blue, red, then red again. Naomi must now hit the 2 key, the 3 key, then the 3 key again.
 
Obviously, remembering the chain is easy for most people when it is only three or four colors long, but it starts getting much more difficult as the chain gets longer. Eventually you make a mistake, and that ends your turn. Your score for a turn is the length of the chain at the time the turn ended.
 
The computer keeps track of each player's score and displays totals at the end of each round.
 
Copy Cat
 

100 REM COPY CAT
110 REM
120 CALL CLEAR
130 RANDOMIZE
140 DIM A(40),NAME$(4),SCORE(4)
150 PRINT TAB(5);"1 GREEN"::
160 PRINT TAB(5);"2 BLUE"::
170 PRINT TAB(5);"3 RED"::
180 PRINT TAB(5);"4 YELLOW":::::
190 PRINT "HIT ANY KEY TO START.":::
200 CALL KEY(0,K,S)
210 X=RND
220 IF S=0 THEN 200
230 CALL CLEAR
240 INPUT "NUMBER OF PLAYERS ":P
250 IF (P>0)*(P<5)THEN 280
260 PRINT ::"TRY AGAIN"::
270 GOTO 240
280 FOR J=1 TO P
290 PRINT ::"NAME OF PLAYER";J
300 INPUT NAME$(J)
310 PRINT :::
320 NEXT J
330 FOR J=1 TO P
340 PRINT NAME$(J);"'S TURN":::::
350 PRINT "HIT ANY KEY TO START.":::
360 CALL KEY(0,K,S)
370 X=RND
380 IF S=0 THEN 360
390 CALL CLEAR
400 N=l
410 CALL SCREEN(16)
420 FOR DELAY=1 TO 200
430 NEXT DELAY
440 A(N)=INT(RND*4+1)
450 FOR M=1 TO N
460 CALL SCREEN(3*A(M))
470 L=A(M)+43
480 CALL HCHAR(10,16,L)
490 CALL SOUND(400,60*2^(A(M)),2)
500 FOR DELAY=1 TO 200
510 NEXT DELAY
520 NEXT M
530 CALL HCHAR(10,16,32)
540 CALL SCREEN(16)
550 FOR DELAY=1 TO 50
560 NEXT DELAY
570 FOR M=1 TO N
580 CALL KEY(0,K,S)
590 IF S=0 THEN 580
600 IF (K-48)<>A(M)THEN 710
610 CALL SCREEN(3*A(M))
620 CALL SOUND(400,60*2*(A(M)),2)
630 FOR DELAY=1 TO 200
640 NEXT DELAY
650 NEXT M
660 CALL SCREEN(16)
670 FOR DELAY=1 TO 200
680 NEXT DELAY
690 N=N+1
700 GOTO 440
710 CALL SOUND(700,-3,2)
720 CALL SCREEN(16)
730 SCORE(J)=SCORE(J)+N
740 PRINT NAME$(J);"'S SCORE"
750 PRINT "THIS TURN ";N
760 PRINT "TOTAL ";SCORE(J)::::
770 FOR DELAY=1 TO 300
780 NEXT DELAY
790 NEXT J
800 PRINT "DO YOU WANT TO PLAY ANOTHER ROUND (Y OR N)?"::::
810 CALL KEY(0,K,S)
820 IF K=89 THEN 330
830 IF K=78 THEN 850
840 GOTO 810
850 CALL CLEAR
860 FOR J=1 TO P
870 PRINT NAME$(J);"'S SCORE WAS";SCORE(J): ::
880 NEXT J
890 END

Bug 440, do not get it! Help?

Corrections:

400 N=1
470 L=A(M)+48
620 CALL SOUND(400,60*2^(A(M)),2)

 

  • Like 1
Link to comment
Share on other sites

On 2/26/2018 at 7:56 AM, oddemann said:
Acie Deucie
Skill area Mathematics
Level: 2,3
 
"Acie Deucie" is a simple card game that teaches the concepts of chance and probability. Two cards are turned over, and you have to bet whether a third card will be between these two or not. As in most card games, aces are the highest cards and deuces are the lowest.
 
In this version, the computer asks how many players there are and then asks for the name of each player. Each player starts with a stake of $200. On each round, you must bet from $10 to $50. The computer shows whose turn it is, then reveals the two cards. After you bet, the third card is revealed. If the third card lies between the first two, you win the amount of the bet. If the card is not between the first two cards, you lose the bet. If the third card is the same as one of the first two cards, you lose.
 
If your stake is below $10, you're out of the game. The game continues as long as there are at least two players left.
 
This game involves a good deal of strategy.Even though most players will lose most of their bets, they should be able to increase their stake by wisely betting large amounts on situations where they are more likely to win, and small bets in situations where they are more likely to lose.
 
The game is played with a regular 52 card deck, so players can keep track of the cards that have been played, and improve their betting strategy. When the program prints SHUFFLING, it means that it is starting over with a new deck.
 
Acie Deucie
 


 

100 REM ACIE-DEUCIE
110 REM
120 RANDOMIZE
130 CALL CLEAR
140 DIM NAME$(4),STAKE(4),CARD(13),X(3)
150 INPUT "HOW MANY PLAYERS (1 TO 4)?":P
160 IF (P>0)*(P<5)THEN 190
170 PRINT :"TRY AGAIN"::
180 GOTO 150
190 FOR N=1 TO P
200 PRINT "NAME OF PLAYER";N
210 INPUT NAME$(N)
220 STAKE(N)=200
230 PRINT ::
240 NEXT N
250 PLAYER=1
260 CALL CLEAR
270 PRINT TAB(4);NAME$(PLAYER);"'S TURN":::::
280 N=1
290 COL=10
300 GOSUB 740
310 N=2
320 COL=21
330 GOSUB 740
340 INPUT "ENTER BET ($10-$50) $":B
350 B=INT(B)
360 IF (B>9)*(B<51)THEN 390
370 PRINT "TRY AGAIN."
380 GOTO 340
390 IF B>STAKE(PLAYER)THEN 370
400 N=3
410 COL=15
420 GOSUB 740
430 IF (X(3)>X(1))*(X(3)<X(2))THEN 610
440 IF (X(3)>X(2))*(X(3)<X(1))THEN 610
450 STAKE(PLAYER)=STAKE(PLAYER)-B
460 CALL SOUND(500,-3,3)
470 IF STAKE(PLAYER)<=10 THEN 960
480 FOR DELAY=1 TO 600
490 NEXT DELAY
500 CALL CLEAR
510 FOR M=1 TO P
520 PRINT NAME$(M);"'S STAKE IS $";STAKE(M)::
530 NEXT M
540 PRINT "HIT ANY KEY TO CONTINUE."
550 CALL KEY(0,K,S)
560 IF S=0 THEN 550
570 IF Z>44 THEN 660
580 PLAYER=PLAYER+1
590 IF PLAYER=P+1 THEN 250
600 GOTO 260
610 STAKE(PLAYER)=STAKE(PLAYER)+B
620 FOR T=1 TO 10
630 CALL SOUND(50,50+100*T,3)
640 NEXT T
650 GOTO 480
660 Z=0
670 PRINT "SHUFFLING"
680 FOR DELAY=1 TO 300
690 NEXT DELAY ^
700 FOR J=l TO 13
710 CARD(J)=0
720 NEXT J
730 GOTO 580
740 X(N)=INT(RND*13+1)
750 IF CARD(X(N))=4 THEN 740
760 CARD(X(N))=CARD(X(N))+1
770 Z=Z+1
780 W=32
790 ON X(N)GOSUB 850,850,850,850,850,850,850,850,870,900,920,940,830
800 CALL HCHAR(10,COL,V)
810 CALL HCHAR(10,COL+1,W)
820 RETURN
830 V=65
840 RETURN
850 V=49+X(N)
860 RETURN
870 V=49
880 W=48
890 RETURN A
900 V=74
910 RETURN
920 V=81
930 RETURN
940 V=75
950 RETURN
960 CALL CLEAR
970 PRINT NAME$(PLAYER);" IS OUT OF THE GAME."::::
980 FOR DELAY=1 TO 300
990 NEXT DELAY
1000 IF PLAYER=P THEN 1050
1010 FOR W=PLAYER TO P-l
1020 NAME$(W)=NAME$(W+1)
1030 STAKE(W)=STAKE(W+1)
1040 NEXT W
1050 P=P-1
1060 IF P=1 THEN 1080
1070 GOTO 250 4^
1080 PRINT "THE WINNER IS ";NAME$(1):::
1090 END

Bugs! Do not withdraw right amount! But adds right!

In order for this game to work as intended, some additional changes were necessary:

690 NEXT DELAY
700 FOR J=1 TO 13
780 VV=32
810 CALL HCHAR(10,COL+1,VV)
880 VV=48
890 RETURN
1010 FOR W=PLAYER TO P-1
1060 IF P=0 THEN 1090
1065 IF P=1 THEN 1080

1070 GOTO 250

  • Like 1
Link to comment
Share on other sites

On 2/26/2018 at 1:32 PM, oddemann said:
Fox and Geese
Skill area: Strategy
Level 2,3
 
"Fox and Geese" is a strategy game only slightly less complex than checkers. It is played on a checker board. Like checkers, all the play is on the light squares and all moves are on the diagonal. One player is the fox. The fox starts on one of the two center squares at one end of the board and moves one square at a time, either forward or backward. The other players are the geese. There are four geese, and these start on the four squares at the other end of the board. They can move one square at a time, but only forward. The geese move first, and then players alternate. There is no jumping or capturing.
 
The geese are to bottle up the fox so he cannot move, and the fox is to break through the line of geese. Once the fox has broken through the line of geese, they can never trap him since they can't move backwards.
 
A checker board is drawn on the screen, with a fox on a white square at the top of the screen, and four geese in the four white squares in the bottom row of the screen. Each square can be identified by a letter-number combination. The eight rows are designated by the letters A through H, and the eight columns by the numbers 1 through 8.
 
In this program, you can choose to play either the fox or the geese, and the computer will play the other. The strategy for both the fox and the geese is built into the program. If you are playing the geese, the word FROM will appear at the bottom of the screen when it is your turn, indicating that you must type in the coordinates of the square that the goose will be moving from. These coordinates must be typed in the form letter-number; for example H 3. Then the word TO appears, and you enter the coordinates of the square that you wish to move the goose to, again in the form letter-number. If the move is a legal move, the goose will be moved. If the move which was entered is illegal for any reason, the computer will make a warning sound and will then give you an opportunity to try again. The fox will then make his move according to the strategy programmed in. You then enter the next move for the geese and so on, until one side or the other has won.
 
When you are playing the fox, the geese move first. Then you indicate where you want the fox to move. Since there is only one fox, there is no need to enter the coordinates of the square the fox is moving from, only the coordinates of the square that the fox is moving to. Again, these must be entered in the form letter-number. If the move is legal, the fox will be moved, and the geese will then take their turn.
 
The strategies for the two sides were developed by programming in a few simple rules and then playing numerous games to identify situations where the computer seemed to be making an inferior move. In such cases, a line was added to the program telling the computer how to move in such a situation. After you play a number of games, you may encounter similar situations where the computer seems to be making a poor move. If you wish, you can then add lines to the program to improve the strategy of the computer.
 
Fox and Geese

100 REM FOX AND GEESE
110 REM
120 CALL CLEAR
130 INPUT "DO YOU WANT TO PLAY THE FOX OR THE GEESE (F OR G)?":Q$
140 IF (Q$="F")+(Q$="G" )THEN 170
150 PRINT "TRY AGAIN."
160 GOTO 130
170 CALL CLEAR
180 CALL COLOR(9,16,16)
190 DIM V(27)
200 CALL CHAR(120,"FFFFFFFFFFFFFFFF")
210 CALL CHAR(104,"0000387C1C0C0C0E")
220 CALL CHAR(105,"0000000000000006")
230 CALL CHAR(106,"1F1F0F0703010300")
240 CALL CHAR(107,"FEFCF8F0E0406000")
250 CALL CHAR(112,"000000000010387C")
260 CALL CHAR(113,"0000000E0E060606")
270 CALL CHAR(114,"7F0F0F0F0C0A0900")
280 CALL CHAR(115,"FEFEFEFE060A1200")
290 FOR N=5 TO 17 STEP 4
300 FOR P=8 TO 20 STEP 4
310 CALL HCHAR(N,P,120,2)
320 CALL HCHAR(N+1,P,120,2)
330 CALL HCHAR(N+2,P+2,120,2)
340 CALL HCHAR(N+3,P+2,120,2)
350 CALL HCHAR(N,P+2,96,2)
360 CALL HCHAR(N+1,P+2,96,2)
370 CALL HCHAR(N+2,P,96,2)
380 CALL HCHAR(N+3,P,96,2)
390 NEXT P
400 NEXT N
410 FOR N=1 TO 8
420 CALL HCHAR(3+2*N,7,64+N)
430 CALL HCHAR(4,6+2*N,48+N)
440 NEXT N
450 CALL COLOR(13,1,1)
460 CALL COLOR(10,2,16)
470 CALL COLOR(11,2,16)
480 CALL HCHAR(21,8,128,16)
490 R=5
500 C=14
510 J=112
520 GOSUB 1690
530 R=19
540 J=104
550 FOR C=8 TO 20 STEP 4
560 GOSUB 1690
570 NEXT C
580 IF Q$="G" THEN 2350
590 KROW=5
600 KCOL=14
610 REM LOOP BEGINS
620 S$=""
630 A=19
640 B=8
650 CALL GCHAR(A,B,G)
660 G$=CHR$(G/8+36)
670 S$=S$&G$
680 B=B+4
690 IF B=24 THEN 720
700 IF B=26 THEN 750
710 GOTO 650
720 B=10
730 A=A-2
740 IF A>4 THEN 650
750 B=8
760 A=A-2
770 IF A>4 THEN 650
780 Z=0
790 IF SEG$(S$,1,="00000000" THEN 1650
800 IF SEG$(S$,1,="11112000" THEN 1900
810 IF SEG$(S$,1,="01111200" THEN 1900
820 IF SEG$(S$,1,="00111120" THEN 1940
830 IF (SEG$(S$,1,="00001111")*(SEG$(S$,12,1)="0")THEN 1980
840 IF SEG$(S$,1,12)="000011100021" THEN 1940
850 IF SEG$(S$,1,14)="00000100011100" THEN 2060
860 IF SEG$(S$,1,12)="000010000111" THEN 2140
870 IF SEG$(S$,1,14)="00010110010002" THEN 2020
880 IF SEG$(S$,1,18)="000101000110000002" THEN 2060
890 IF SEG$(S$,1,14)="00010100001012" THEN 2100
900 IF SEG$(S$,1,12)="000010002111" THEN 2060
910 IF SEG$(S$,1,="00010112" THEN 2180
920 IF SEG$(S$,1,14)="00100110010002" THEN 2020
930 IF SEG$(S$,1,15)="001001100100002" THEN 2180
940 IF SEG$(S$,1,11)="00000110011" THEN 2180
950 IF SEG$(S$,1,18)="001001000110000002" THEN 2060
960 IF SEG$(S$,1,14)="00100100001012" THEN 2100
970 IF SEG$(S$,1,16)="0000011101000000" THEN 2020
980 IF SEG$(S$,1,11)="00000111010" THEN 2220
990 IF SEG$(S$,1,15)="000010100110002" THEN 2180
1000 IF SEG$(S$,1,12)="000000110110" THEN 1980
1010 IF SEG$(S$,1,11)="00101110002" THEN 1940
1020 IF (SEG$(S$,1,1)="1")*(SEG$(S$,5,1)="0")THEN 1740
1030 IF (SEG$(S$,2,1)="1")*(SEG$(S$,6,1)="0")THEN 1780
1040 IF (SEG$(S$,3,1)="1")*(SEG$(S$,7,1)="0")THEN 1820
1050 IF (SEG$(S$,4,1)="1")*(SEG$(S$,8,1)="0")THEN 1860
1060 IF (SEG$(S$,8,1)="1")*(SEG$(S$,12,1)="0")THEN 1980
1070 IF (SEG$(S$,7,1)="1")*(SEG$(S$,11,1)="0")THEN 2020
1080 IF (SEG$(S$,6,1)="1")*(SEG$(S$,10,1)="0")THEN 2100
1090 IF (SEG$(S$,5,1)="1")*(SEG$(S$,9,1)="0")THEN 2140
1100 IF (SEG$(S$,7,1)="1")*(SEG$(S$,12,1)="0")THEN 2180
1110 CALL SOUND(700,700,3)
1120 PRINT "THE FOX WINS"
1130 GOTO 3790
1140 CALL SOUND(100,300,3)
1150 CALL GCHAR(KROW-2,KCOL-2,G)
1160 IF G=96 THEN 1240
1170 CALL GCHAR(KROW-2,KCOL+2,G)
1180 IF G=96 THEN 1240
1190 CALL GCHAR(KROW+2,KCOL-2,G)
1200 IF G=96 THEN 1240
1210 CALL GCHAR(KROW+2,KCOL+2,G)
1220 IF G=96 THEN 1240
1230 GOTO 2330
1240 CALL HCHAR(23,5,32,20)
1250 CALL KEY(0,K,S)
1260 IF (K>64)*(K<73)THEN 1280
1270 GOTO 1250
1280 CALL HCHAR(23,5,K)
1290 CALL SOUND(100,300,3)
1300 CALL KEY(0,KK,S)
1310 IF (KK>48)*(KK<57)THEN 1330
1320 GOTO 1300
1330 CALL HCHAR(23,7,KK)
1340 CALL SOUND(100,300,3)
1350 KROW=K*2-125
1360 KCOL=KK*2-90
1370 CALL GCHAR(KROW,KCOL,G)
1380 IF G=96 THEN 1420
1390 CALL SOUND(500,-3,3)
1400 CALL HCHAR(23,5,32,5)
1410 GOTO 1250
1420 OLDROW=KROW-2
1430 OLDCOL=KCOL-2
1440 CALL GCHAR(OLDROW,OLDCOL,G)
1450 IF G=112 THEN 1560
1460 OLDCOL=KCOL+2
1470 CALL GCHAR(OLDROW,OLDCOL,G)
1480 IF G=112 THEN 1560
1490 OLDROW=KROW+2
1500 CALL GCHAR(OLDROW,OLDCOL,G)
1510 IF G=112 THEN 1560
1520 OLDCOL=KCOL-2
1530 CALL GCHAR(OLDROW,OLDCOL,G)
1540 IF G=112 THEN 1560
1550 GOTO 1390
1560 R=OLDROW
1570 C=OLDCOL
1580 J=96
1590 GOSUB 1690
1600 R=KROW
1610 C=KCOL
1620 J=112
1630 GOSUB 1690
1640 GOTO 610
1650 S$=SEG$(S$,9,24)
1660 Z=Z+1
1670 IF Z=3 THEN 2330
1680 GOTO 790
1690 CALL HCHAR(R,C,J)
1700 CALL HCHAR(R,C+1,J+1)
1710 CALL HCHAR(R+1,C,J+2)
1720 CALL HCHAR(R+1,C+1,J+3)
1730 RETURN
1740 R=19
1750 C=8
1760 CC=10
1770 GOTO 2250
1780 R=19
1790 C=12
1800 CC=14
1810 GOTO 2250
1820 R=19
1830 C=16
1840 CC=18
1850 GOTO 2250
1860 R=19
1870 C=20
1880 CC=22
1890 GOTO 2250
1900 R=19
1910 C=20
1920 CC=18
1930 GOTO 2250
1940 R=17
1950 C=10
1960 CC=12
1970 GOTO 2250
1980 R=17
1990 C=22
2000 CC=20
2010 GOTO 2250
2020 R=17
2030 C=18
2040 CC=16
2050 GOTO 2250
2060 R=15
2070 C=12
2080 CC=10
2090 GOTO 2250
2100 R=17
2110 C=14
2120 CC=12
2130 GOTO 2250
2140 R=17
2150 C=10
2160 CC=8
2170 GOTO 2250
2180 R=17
2190 C=18
2200 CC=20
2210 GOTO 2250
2220 R=17
2230 C=14
2240 CC=16
2250 R=R-4*Z
2260 J=96
2270 GOSUB 1690
2280 R=R-2
2290 C=CC
2300 J=104
2310 GOSUB 1690
2320 GOTO 1140
2330 PRINT "GEESE WIN"
2340 GOTO 3790
2350 REM LOOP BEGINS
2360 FOXROW=5
2370 FOXCOL=14
2380 CALL HCHAR(23,5,70)
2390 CALL HCHAR(23,6,82)
2400 CALL HCHAR(23,7,79)
2410 CALL HCHAR(23,8,77)
2420 CALL KEY(0,R,S)
2430 IF (R>64)*(R<73)THEN 2450
2440 GOTO 2420
2450 CALL SOUND(50,300,3)
2460 CALL HCHAR(23,10,R)
2470 CALL KEY(0,C,S)
2480 IF (C>48)*(C<57)THEN 2500
2490 GOTO 2470
2500 CALL SOUND(50,300,3)
2510 CALL HCHAR(23,12,C)
2520 R=2*R-125
2530 C=2*C-90
2540 CALL GCHAR(R,C,G)
2550 IF G=104 THEN 2590
2560 CALL SOUND(500,-3,3)
2570 CALL HCHAR(23,5,32,20)
2580 GOTO 2380
2590 CALL HCHAR(23,15,84)
2600 CALL HCHAR(23,16,79)
2610 CALL KEY(0,RR,S)
2620 IF (RR>64)*(RR<73)THEN 2640
2630 GOTO 2610
2640 CALL SOUND(50,300,3)
2650 CALL HCHAR(23,18,RR)
2660 CALL KEY(0,CC,S)
2670 IF (CC>48)*(CC<57)THEN 2690
2680 GOTO 2660
2690 CALL SOUND(50,300,3)
2700 CALL HCHAR(23,20,CC)
2710 RR=2*RR-125
2720 CC=2*CC-90
2730 CALL GCHAR(RR,CC,G)
2740 IF G=96 THEN 2760
2750 GOTO 2560
2760 IF R-RR=2 THEN 2780
2770 GOTO 2560
2780 IF ABS(C-CC)=2 THEN 2800
2790 GOTO 2560 ^
2800 CALL HCHAR(R,C,96)
2810 CALL HCHAR(R,C+1,96)
2820 CALL HCHAR(R+1,C,96)
2830 CALL HCHAR(R+1,C+1,96)
2840 CALL HCHAR(RR,CC,104)
2850 CALL HCHAR(RR,CC+1,105)
2860 CALL HCHAR(RR+1,CC,106)
2870 CALL HCHAR(RR+1,CC+1,107)
2880 KOUNT=KOUNT+1
2890 IF KOUNT<3 THEN 3650
2900 N=1
2910 A=F0XR0W-4
2920 B=FOXCOL-8
2930 IF (A>23)THEN 3010
2940 IF B<1 THEN 3010
2950 V(N)=0
2960 CALL GCHAR(A,B,G)
2970 IF G=96 THEN 3000
2980 IF G=128 THEN 3000
2990 GOTO 3010
3000 V(N)=1
3010 B=B+4
3020 IF B=FOXCOL+12 THEN 3060
3030 IF B=FOXCOL+10 THEN 3090
3040 N=N+1 m
3050 GOTO 2930
3060 B=FOXCOL-6
3070 A=A+2
3080 GOTO 3040
3090 B=FOXCOL-8
3100 A=A+2
3110 IF AOFOXROW+8 THEN 3040
3120 IF (V(7)=0)*(V(S)=0)*(V(16)=0)*(V(17)=0)THEN 2330
3130 IF (V(7)=0)*(V(=0)*(V(16)=0)THEN 3700
3140 IF (V(7)=0)*(V(=0)*(V(17)=0)THEN 3650
3150 IF (V(7)=0)*(V(16)=0)*(V(17)=0)THEN 3600
3160 IF (V(=0)*(V(16)=0)*(V(17)=0)THEN 3480
3170 IF (V(17)=1)*(V(21)=1)*(V(22)=1)THEN 3700
3180 IF (V(16)=1)*(V(20)=1)*(V(21)=1)THEN 3650
3190 IF (V(=1)*(V(13)=1)*(V(18)=1)*(V(22)=1)*(V(21)=1)*(V(26)=1)*(V(17)=0)THEN 3600
3200 IF (V(7)=1)*(V(11)=1)*(V(15)=1)*(V(20)=1)*(V(21)=1)*(V(25)=1)*(V(16)=0)THEN 3480
3210 IF (V(=1)*(V(13)=1)*(V(18)=1)*(V(22)=1)*(V(23)=1) THEN 3600
3220 IF (V(7)=1)*(V(11)=1)*(V(15)=1)*(V(20)=1)*(V(19)=1) THEN 3480
3230 IF (V(17)=1)*(V(21)=1)*(V(25)=1)THEN 3700
3240 IF (V(17)=1)*(V(21)=1)*(V(26)=1)THEN 3700
3250 IF (V(17)=1)*(V(22)=1)*(V(26)=1)THEN 3700
3260 IF (V(17)=1)*(V(22)=1)*(V(27)=1)THEN 3700
3270 IF (V(16)=1)*(V(20)=1)*(V(24)=1)THEN 3650
3280 IF (V(16)=1)*(V(20)=1)*(V(25)=1)THEN 3650
3290 IF (V(16)=1)*(V(21)=1)*(V(25)=1)THEN 3650
3300 IF (V(16)=1)*(V(21)=1)*(V(26)=1)THEN 3650
3310 IF (V(16)=0)*(V(7)=1)*(V(11)=1)*(V(15)=1)*(V(19)=1) THEN 3480
3320 IF (V(7)=1)*(V(11)=1)*(V(15)=1)*(V(20)=1)*(V(23)=1)*(V(25)=1)THEN 3480
3330 IF (V(=1)*(V(13)=1)*(V(18)=1)*(V(22)=1)*(V(26)=1)*(V(27)=1)THEN 3600
3340 IF (V(=1)*(V(9)=1)*(V(14)=1)*(V(18)=1)*(V(22)=1)*(V(23)=1)THEN 3600
3350 IF (V(7)=1)*(V(6)=1)*(V(10)=1)*(V(15)=1)*(V(19)=1)*(V(20)=1)THEN 3480
3360 IF (V(17)=0)*(V(=1)*(V(13)=1)*(V(18)=1)*(V(23)=1)THEN 3600
3370 IF (V(16)=0)*(V(17)=0)*(V(7)=1)*(V(10)=1)THEN 3480
3380 IF (V(16)=0)*(V(17)=0)*(V(=1)*(V(14)=1)THEN 3600
3390 IF (V(16)=1)*(V(20)=0)*(V(21)=0)*(V(11)=0)*(V(17)=0)*(V(=1)THEN 3600
3400 IF (V(17)=1)*(V(13)=0)*(V(22)=0)*(V(21)=0)*(V(16)=0)*(V(7)=1)THEN 3480
3410 IF (V(21)=0)*(V(22)=0)*(V(18)=0)*(V(17)=1)THEN 3700
3420 IF (V(16)=0)*(V(17)=0)*(V(7)=1)*(V(11)=1)*(V(15)=1)THEN 3480
3430 IF (V(16)=0)*(V(17)=0)*(V(=1)*(V(13)=1)*(V(18)=1)THEN 3600
3440 IF (V(16)=1)THEN 3650
3450 IF (V(17)=1)THEN 3700
3460 IF (V(7)=1)THEN 3480
3470 IF (V(6)=1)THEN 3600
3480 CALL HCHAR(FOXROW,FOXCOL,96,2)
3490 CALL HCHAR(FOXROW+1,FOXCOL,96,2)
3500 F0XR0W=F0XR0W-2
3510 F0XC0L=F0XC0L-2
3520 CALL HCHAR(FOXROW,FOXCOL,112)
3530 CALL HCHAR(F0XR0W,F0XC0L+1,113)
3540 CALL HCHAR(F0XR0W+1,F0XC0L,114)
3550 CALL HCHAR(F0XR0W+1,F0XC0L+1,115)
3560 CALL SOUND(50,300,3)
3570 CALL HCHAR(23,5,32,20)
3580 IF FOXROW*2-8>32-KOUNT THEN 1110
3590 GOTO 2380
3600 CALL HCHAR(FOXROW,FOXCOL,96,2)
3610 CALL HCHAR(FOXROW+1,FOXCOL,96,2)
3620 FOXROW=FOXROW-2
3630 FOXCOL=FOXCOL+2
3640 GOTO 3520
3650 CALL HCHAR(FOXROW,FOXCOL,96,2)
3660 CALL HCHAR(FOXROW+1,FOXCOL,96,2)
3670 FOXROW=FOXROW+2
3680 FOXCOL=FOXCOL-2
3690 GOTO 3520
3700 CALL HCHAR(FOXROW,FOXCOL,96,2)
3710 CALL HCHAR(FOXROW+1,FOXCOL,96,2)
3720 FOXROW=FOXROW+2
3730 FOXCOL=FOXCOL+2
3740 GOTO 3520
3750 V(7)=0
3760 GOTO 3280
3770 V(6)=0
3780 GOTO 3280
3790 FOR DELAY=1 TO 700
3800 NEXT DELAY
3810 CALL CLEAR
3820 PRINT "AGAIN (Y OR N)?"::::
3830 CALL KEY(0,K,S)
3840 IF K=78 THEN 3870
3850 IF K=89 THEN 3890
3860 GOTO 3830
3870 CALL CLEAR
3880 END
3890 KOUNT=0
3900 GOTO 120

Should be OK!

And a good game!

This one was flooded with errors!

Corrections:

 

790 IF SEG$(S$,1,8)="00000000" THEN 1650
800 IF SEG$(S$,1,8)="11112000" THEN 1900
810 IF SEG$(S$,1,8)="01111200" THEN 1900
820 IF SEG$(S$,1,8)="00111120" THEN 1940
830 IF (SEG$(S$,1,8)="00001111")*(SEG$(S$,12,1)="0")THEN 1980
910 IF SEG$(S$,1,8)="00010112" THEN 2180
2910 A=FOXROW-4
3040 N=N+1
3110 IF A<>FOXROW+8 THEN 3040
3120 IF (V(7)=0)*(V(8)=0)*(V(16)=0)*(V(17)=0)THEN 2330
3130 IF (V(7)=0)*(V(8)=0)*(V(16)=0)THEN 3700
3140 IF (V(7)=0)*(V(8)=0)*(V(17)=0)THEN 3650
3160 IF (V(8)=0)*(V(16)=0)*(V(17)=0)THEN 3480
3190 IF (V(8)=1)*(V(13)=1)*(V(18)=1)*(V(22)=1)*(V(21)=1)*(V(26)=1)*(V(17)=0)THEN 3600
3210 IF (V(8)=1)*(V(13)=1)*(V(18)=1)*(V(22)=1)*(V(23)=1) THEN 3600
3330 IF (V(8)=1)*(V(13)=1)*(V(18)=1)*(V(22)=1)*(V(26)=1)*(V(27)=1)THEN 3600
3340 IF (V(8)=1)*(V(9)=1)*(V(14)=1)*(V(18)=1)*(V(22)=1)*(V(23)=1)THEN 3600
3360 IF (V(17)=0)*(V(8)=1)*(V(13)=1)*(V(18)=1)*(V(23)=1)THEN 3600
3380 IF (V(16)=0)*(V(17)=0)*(V(8)=1)*(V(14)=1)THEN 3600
3390 IF (V(16)=1)*(V(20)=0)*(V(21)=0)*(V(11)=0)*(V(17)=0)*(V(8)=1)THEN 3600
3430 IF (V(16)=0)*(V(17)=0)*(V(8)=1)*(V(13)=1)*(V(18)=1)THEN 3600
3500 FOXROW=FOXROW-2
3510 FOXCOL=FOXCOL-2
3530 CALL HCHAR(FOXROW,FOXCOL+1,113)
3540 CALL HCHAR(FOXROW+1,FOXCOL,114)
3550 CALL HCHAR(FOXROW+1,FOXCOL+1,115)

  • Like 2
Link to comment
Share on other sites

On 2/26/2018 at 3:12 PM, oddemann said:
Name the States
Skill area: Social Studies
LeveL 2,3
 
How well can you identify the locations of each of the contiguous 48 states of the US? "Name the States" will teach and test your ability to locate states.
 
A map of a section of the United States will appear on the screen. The section of the United States that appears depends on which of the four programs has been selected. Also displayed on
the screen will be the names of all the states included in the map, and sometimes other states as well. Each state has a number associated with it. A square flashes inside one of the states, and you must enter the number corresponding to the name of that state. If a wrong number is entered, the computer makes an unpleasant noise, and you are given another chance. If the correct answer is entered, the screen flashes colors, and then the program goes on to another state. This continues until all of the states on the map have been identified correctly.
 
The maps for these four programs were drawn by placing a piece of tracing paper over a map in an atlas, and then drawing a grid on the tracing paper. This grid corresponds to the coordinates on the screen determined by the CALLHCHAR command. Then the character within each cell of the grid was designed, using the CALL CHAR command.
 
Program 1.Northeastern States - No corrections necessary
 
 
 
Program 2. Midwestern States - Corrections needed:
 
640 CALL CHAR(109,"000000C020C00000")
1490 CALL HCHAR(11,20,149)
2020 CALL CHAR(45,"E020202020202020")
2600 NEXT N
 
 
 
 
Program 3. Southern States - One correction needed:
 
1670 CALL CHAR(159,"0000FF2020202020")
 
 
 
Program 4.Western States - Many corrections needed:
 
150 PRINT "13 IDAHO"
230 PRINT TAB(15);"25 S DAKOTA"
290 PRINT TAB (15); "28 WASHINGTON"
310 CALL CHAR(81,"FFFFFFFFFFFFFFFF")
930 CALL CHAR(122,"40407F4080808080")
1100 CALL CHAR(132,"04020202FF020101")
1450 CALL CHAR(34,"0201010101010101")
1510 CALL CHAR(159,"0407080810204080")
1860 CALL HCHAR(12,15,48)
1880 CALL HCHAR(12,25,58)
1900 CALL HCHAR(13,15,60)
2090 CALL CHAR(144,"0000000000008060")
2270 FOR ITEM=1 TO 4
2280 READ PL(ITEM,STATE)
2390 CALL HCHAR(ROW,COL,81)
2540 CALL KEY(0,KK,S)
2580 GOTO 2500
 

NOT debugged!!! Yet!

 

Link to comment
Share on other sites

On 2/26/2018 at 5:14 PM, oddemann said:
Find the Word
Skill area: Language Aits
Level 2,3
 
"Find the Word" can be played by any number of players at the same time.
 
When the program is run, a list of eight partially random let ters is displayed on the screen. The list is not quite random in that the letters Q, V, and Z never appear, and E, A, I, and O have a greater chance of being selected than the rest of the alphabet. The object is to find as many three-letter words as possible which can be made from the eight letters.
 
You should have a pen and paper available. After a minute or so, the words READY, HIT ANY KEY are printed. When a key is pressed, the computer will display a list ofthree-letter words that it located by searching a list of 368 words in its memory.
 
This program is particularly good in promoting language development and reading skills.
 
Find the Word
 

Should be OK!

Corrections needed:

670 DIM A$(368),B$(50),R(8),L$(8),LL$(8),FF1(13),FF2(13)
1240 PRINT B$(I),

  • Like 2
Link to comment
Share on other sites

On 2/26/2018 at 6:02 PM, oddemann said:
Percent Problems
Skill area: Mathematics
LeveL 3
 
"Percent Problems" consistsof45word problems which willreview and test your ability to solve problems involving percent. It is not intended to teach the concept of percent to someone who
 
has no understanding of it.
 
The problems are divided into three types. Type 1 involves finding the percent of a number (X percent of Yis what?); type 2 involves finding what percent one number is of another (Xis what
 
percent of Y?); and type 3 involves finding the whole when the percent is known (Xis Ypercent of what?).
 
Each problem is displayed on the screen, and you must enter the answer. It would be helpful if you had a pencil and paper or a calculatoravailable for computation, although none of the prob
 
lemsinvolves complex arithmetic. You enter your answer. If the answer is correct, the program responds with THAT'SCORRECT (name), and then goes on to the next problem. If you are wrong,
the program responds WRONG!TRY AGAIN, and you are given another chance. If you cannot give the correct answer after the third try, the program displays instructions on how to solve that
 
type of problem, and then solves the problem correctly.
 
Percent Problems
 

Most of the bugs are out, I think!

OK, question for the smart ones...

Many places in this program you have this:
PRINT -."WRONG! TRY AGAIN."
and
PRINT :"THAT'S CORRECT ";NAME$::

Many times!


My thinking is that "GOSUB" would be better to save space... BUT is it as fast or is it slower to have ONE place where you define and PRINT out Wrong or Correct with GOSUB?

Corrections:

180 PRINT :::"IF THE SALES TAX RATE IS";P:"PERCENT, WHAT WOULD THE     SALES TAX BE ON A PURCHASE  OF $";X;"?"
240 GOTO 190
300 PRINT :::"THE TOTAL ENROLLMENT AT A   SCHOOL IS";X;". TODAY THERE":"WERE";Y;"STUDENTS ABSENT."
560 PRINT :::"A SALESMAN IS PAID ON COM-  MISSION.  HE RECEIVES";P:"PERCENT OF HIS TOTAL SALES."
700 PRINT "IN INTEREST.  WHAT WAS THE  INTEREST RATE IN PERCENT?"
920 PRINT :"THAT'S CORRECT ";NAME$::
1210 PRINT :::"A SALESMAN IS PAID ON COM-  MISSION.  HE IS PAID";P:"PERCENT OF HIS SALES. LAST"
1220 PRINT "MONTH HIS COMMISSIONS WERE  $";X;". WHAT WAS THE VALUE"
1280 PRINT :"WRONG! TRY AGAIN."
1370 PRINT "DECIMAL.  THEN MULTIPLY     THIS DECIMAL TIMES THE NUM- BER. TO SOLVE THIS PROBLEM"
1450 PRINT "NUMBER IS OF ANOTHER.  TO   SOLVE THIS TYPE OF PROBLEM  DIVIDE THE SMALLER NUMBER"
1470 PRINT "PERCENT.  TO SOLVE THIS     PROBLEM, DIVIDE";Y;"BY"
1490 PRINT "THEN MULTIPLY THIS TIMES 100TO GET";(Y/X)*100;". THE ANSWER IS"
1570 PRINT "DIVIDE THE NUMBER GIVEN BY  THE PERCENT, AND THEN MULTI-PLY THE RESULT BY 100.  TO"
1600 PRINT (X/P)*100;"."::

  • Like 1
Link to comment
Share on other sites

On 2/26/2018 at 6:49 PM, oddemann said:
Remember the Maze
Skill area: Memory
Level: 3
 
Spatial memory involves remembering the location of objects in relation to each other. How good is your spatial memory? Play "Remember the Maze" to find out.
 
Spatial memory can be improved with practice. When you first see the square in the center of the screen, pay close attention. Soon a row of stars will appear and zigzag around the screen ending at a dollar sign. The entire pattern remains on the screen for approximately ten seconds, and then the stars disappear, leaving only the square and the dollar sign.
 
The object of the game is to remember as much of the row of stars as possible while it is on the screen. Once the stars disappear, you move the square around the screen with the four arrow keys. The S key moves it to the left, the D key moves it to the right, the E key moves it up, and the X key moves it down. However, the square can only move along the path determined by the stars, and every time you try to move the square off the invisible path, there is a warning sound and the score is increased by one. The object is to reach die dollar sign after making as few errors as possible.
 
When the end of the path is reached, the screen flashes, and you're asked whether you want to play again. If the answer is yes, you can either play the same maze again or try a different maze.
 
The ALPHA LOCK key must be down (on) for this program to work properly.
 
 
Remember the Maze

Think I got all the bugs!

Corrections and additions:

The game would stay in an infinite loop after the 10th maze.  There was a declared variable N that was never used and it was probably intended to keep track of this.

185 IF N > 10 THEN 2480
800 PRINT "SAME MAZE OR DIFFERENT MAZE (S OR D)?"
1070 CALL VCHAR(8,8,42,8)
1110 CALL HCHAR(5,17,42,8)
1810 CALL HCHAR(22,6,42,8)
1890 CALL VCHAR(5,21,42,8)
1910 CALL VCHAR(5,10,42,8)
2180 CALL VCHAR(13,14,42,3)
2220 CALL VCHAR(10,20,42,8)
2300 CALL HCHAR(18,8,42,4)
2440 CALL HCHAR(21,18,42,8)
2480 PRINT :::"NO MORE MAZES!"
2490 END

 

  • Like 1
Link to comment
Share on other sites

On 2/26/2018 at 6:53 PM, oddemann said:
Scramble
Skill area: Language Arts
Level 3
 
In this two-player game, a scrambled word is shown on the screen, and the players race to unscramble it. For example, the computer might show the following letters:
 
ELTERT
 
These unscramble to make the word 'letter." Each of the two players is assigned a key; one has the Q key and one has the P key. After the scrambled letters are shown, whoever presses their key first gets to enter the correct word. You have about 16 seconds in which to do this. If the correct word is typed in and the ENTER key hit before time runs out, you get five points. There is a clock running at the top of the screen, and if the clock gets to 120 before you have entered the correct word, you lose five points. You also lose five points if the wrong word is entered. After the word is typed in, it is important to hit the ENTER key before the time is up.
 
The score for each player is shown on every round. There are 100 words in the program.
 
Computers can only do one thing at a time, and as a result, since the clock is running while you are entering the word, sometimes it is necessary to hold a key down for a moment before the letter appears on the screen. If you type in the wrong letter or hold a key down too long so that a letter appears twice by mistake, it is possible to erase one or more letters that have been typed in with the zero key.
 
The program contains only six-letter words. This list is of moderate difficulty for most adults and older children. For younger children, a list of five-letter words might be more appropriate. If you wish, you can substitute the following list for the list of words in the DATA statements in the program.
 
If one or more of the players are extremely slow typists, the 16-second time limit may not be long enough. It is possible to extend the limit by changing the 2 in the equation (WW=2) in line 770 to a higher number (up to 9).
 
If a scrambled word has been on the screen for 30 seconds and neither of the two players has hit their key, the program shows what the correct answer was and goes to the next word.
 
The ALPHA LOCK key must be down (on) for this program to work.
 
Five-Letter Words
CATCH PRICE SINCE RAPID
STORM OTHER OWNER HUMAN
PRESS FIRST LEAST TOWER
WOMAN GROUP WRITE ABOUT
BLACK SOUND HABIT DOZEN
WHITE WOULD ALONE STUDY
EARLY FUNNY CLOSE FIELD
WHICH PLACE TOUCH MAJOR
UNDER MONTH POINT SMOKE
QUICK STYLE SHAKE CHILD
HEAVY MIGHT GIANT EXTRA
COVER POWER SNEAK FLASH
STORE EIGHT WORRY TRUST
STORY PLANT LOVER CROSS
ATTIC FEVER SHINE BASIC
MUSIC TOUGH GROUP ENJOY
TRAIN CRACK WORLD AMUSE
ADULT VISIT CABIN SEVEN
LEARN WRONG THIRD ABOUT
HOUSE PRIME WHALE ENTER
DRINK HOTEL YOUNG ABUSE
FOUND BUILD COURT ORDER
LOCAL AVOID WATER APPLE
MATCH BEGIN PARTY ARGUE
FORCE HAPPY SWORD FENCE
 
 
Scramble

Think it is bug free!

Some changes and corrections needed, moved the timer so it doesn't scroll out of view:

270 PRINT NAME$(2);"'S SCORE IS";SCORE(2)::::
480 WW=0
490 WWW=0
500 W=W+1
520 CALL HCHAR(8,27,W+48)
650 PRINT :::"HIT ANY KEY TO CONTINUE."

790 CALL HCHAR(8,26,WW+48)
820 WWW=1
830 CALL HCHAR(8,25,49)

  • Like 1
Link to comment
Share on other sites

On 2/27/2018 at 4:59 AM, oddemann said:
Depth Charges
Skill area: Logic
Level: 3
 
As captain of an anti-submarine vessel, you know that some where beneath your ship is an enemy submarine. You have to destroy the submarine with depth charges. The problem is that you have only a limited number of depth charges remaining, so you must aim carefully.
 
The only information you have is that when you drop a depth charge, the ship's computer tells you how much you missed the submarine by.
 
"Depth Charges" has two levels of difficulty. With level 1, you are playing in two-dimensional space, and you set your coordinates with a letter from A to I and a digit from 1 to 9. Thus, there are 81 possible places where the submarine might be.
 
The grid on the screen will show you where you have fired. To fire a depth charge, first type in a letter, then a number. You will hear the sound of the depth charge exploding, and the computer will show you how far off you were. The amount that you missed by is determined by the coordinate that you were furthest away on. If you fired at C 7 and the submarine was at H 6, you would be told that you missed by 5. If you fired at C 7 and the submarine was at A 2, you would also be told that you missed by 5. The number that you missed by will be shown in the cell in the grid that you fired at. At this level of difficulty, you have a total of six depth charges. If you fail to hit the submarine with six depth charges, the computer will show you where the submarine is located and will ask if you wish to play again.
 
Level 2 is the same as level 1 except that the game is played in three dimensions. Unfortunately, it is impossible to show a three dimensional grid on a two-dimensional screen, so that grid is of limited use here. In level 2, you have to enter three coordinates for your depth charge: a letter between A and I and two numbers between 1 and 9.Thus there are 729 possible locations where the submarine might be. A record of each depth charge and its distance from the target is shown on the right side of the screen. In this case you have nine depth charges.
 
 

Depth Charges

Think I got all PDF bugs!
There is a "display" bug, there some of the text is on the screen, but that is for later. Or YOU find it? :D

The display bug was simply some missing print separators :)   The rest of the program is fine.

250 PRINT TAB(25);L-1:::::::::::::::::

  • Like 1
Link to comment
Share on other sites

On 2/27/2018 at 5:22 AM, oddemann said:
Air Traffic Controller
Skill area: Memory
Level 3
 
You are the air traffic controller for a busy airport. As flights arrive, you must assign them to a holding pattern until a runway is free. Holding patterns are numbered 1 to 8. When a runway is free, you must specify both the flight and the holding pattern where the flight is waiting in order to land the plane. Rights should be landed in the order that they arrive, because airlines and passengers get upset if planes have to wait too long.
 
Your objective is to score as few demerits as possible. There are three ways in which you can score demerits:
 
•Leaving flights in holding patterns longer than necessary.
•Assigning an incoming flight to a holding pattern which already has another flight assigned to it, or
•Forgetting which holding pattern a flight is in.
 
You designate flights by the name of the airline.There are eight air lines which serve your airport: AIKTRAVEL, AMER-ABR, SOUTH, AIREAST, TIAIR, PRONTO, CTR and NJAIR. However, at any particular time, one airline can have more than one flight waiting to land.
 
This game requires concentration and a good memory.Initially, all of the holding patterns are empty, and it is easy to keep track of which flights are assigned where. Over time, flights arrive faster than they can be landed, and they build up so that eventually you must keep track of four or five different flights at the same time. Then, as the day ends, no more flights arrive, and you simply have to land the flights that are waiting —if you can remember where you assigned them.
 
The ALPHA LOCK key must be down (on) for this program to run properly.
 
 
Air Traffic Controller

Think all the bugs are out!

Some corrections:

160 PRINT "TERNS ARE NUMBERED 1 TO 8.  WHEN A RUNWAY IS FREE, YOU  MUST SPECIFY BOTH THE FLIGHT"
210 PRINT ::::"FLIGHTS SHOULD BE LANDED IN THE ORDER THAT THEY ARRIVE."
230 PRINT "ING FLIGHTS IN HOLDING PAT- TERNS FOR LONG PERIODS, BY  ASSIGNING INCOMING FLIGHTS"
250 PRINT "OR BY FORGETTING WHERE A    FLIGHT IS.  THE AIRLINES"
330 DIM A(8),A$(8)
410 R=INT(RND*8)+1
440 PRINT "IS APPROACHING. WHICH HOLD- ING PATTERN DO YOU WANT TO  ASSIGN IT TO?"
740 PRINT :::"HOLDING PATTERN";E;"HAS A":"FLIGHT FROM ";A$(E)

  • Like 1
Link to comment
Share on other sites

On 2/27/2018 at 5:38 AM, oddemann said:
Car Dealer

 

Skill area: Strategy

 

 

Level: 3

 

 

 

 

 

Whether you remain in the automobile selling business or not depends on how much money you make over an eight-month period. You sell five kinds of cars: compact, mid-size, full-size, luxury, and sports cars. The following table shows the cost and selling price of each type of car.

 

 

 

 

 

Cost Price

 

 

Compact Cars $ 5600 $ 6000

 

 

Mid-size Cars $ 6600 $ 7000

 

 

Full-size Cars $ 7500 $ 8000

 

 

Luxury Cars $ 10300 $ 11000

 

 

Sports Cars $ 11000 $ 12000

 

 

 

 

 

In a typical month, you can expect to sell about 20 cars if you have the appropriate cars in stock. You can order as many cars as you want, but you must pay 2 percent interest a month on the cost of all unsold cars in stock. The exact number of customers that you will have each month and the types of cars that they will want will vary widely,but in general, the less expensive the car, the more you will sell.

 

 

 

 

 

Youwill have to share half of the profit on each car with the salesperson who sold it.

 

 

 

 

 

One way that you can increase sales is by advertising. Advertising will cost $600 per month, but it should increase your sales by about three cars a month.

 

 

 

 

 

In a good month, you should have a net profit of about $3000.

 

 

 

 

 

 

 

 

Car Dealer

 

 

 

 

 


 

 

 

 

 

 

FOR-NEST ERROR!

 

Some corrections:

130 PRINT TAB(8);"CAR DEALER"::
310 PRINT "IF YOU WISH TO ADVERTISE,   IT WILL COST YOU $600 FOR   EACH MONTH, BUT YOU SHOULD"
780 PRINT TAB(2);"COMPACT CARS";TAB(19);CBUYER
800 PRINT TAB(2);"FULLSIZE CARS";TAB(19);FBUYER
890 PRINT TAB(2);"SPORTS CARS";TAB(19);NS
980 CALL KEY(0,K,STATUS)
1660 PRINT "AN EXCELLENT PERFORMANCE!"
1680 PRINT "YOUR PERFORMANCE WAS GOOD!"

  • Like 1
Link to comment
Share on other sites

On 2/27/2018 at 6:32 AM, oddemann said:
Blackjack
Skill area: Strategy
Level 3
 
"Blackjack" is an extremely popular casino card game in which the dealer plays against one or more players. In this version of Black jack, the computer is the dealer and up to four players can play.
 
The object of the game is to have a hand in which the point total is higher than that of the dealer, but not greater than 21. In computing the value of a hand, each number card is worth that number, each face card is worth ten, and an ace can be counted as either one or eleven.
 
You are initially dealt two cards. The dealer is also dealt two cards, but only one of them is shown. You look at your two cards, and then make one of several decisions. The usual choices are to "hit/' in which you take another card, or to "stand," in which you accept the hand as it is. You may continue to ask for hits as often as you want. However, if the value of the hand exceeds 21, then you have "busted" and havelost the hand. Once you stand, your turn is over.
 
The term blackjack refers to a two-card hand which totals exactly 21, an ace and a card which is worth ten. If you are dealt blackjack, you immediately receive one-and-a-halftimes your bet (unless the dealer also has blackjack). If the dealer'sup card is either an ace or a ten, the dealer checks the other card immediately to determine if the hand is a blackjack. If the dealer (the computer)has blackjack, it immediately wins all bets except for those in which you or another player also has blackjack.
 
When you have only two cards, you have another option, called doubling down. When you double down, the bet is doubled, and you receive one and only one card. It is a good strategy to double down with a hand where the two cards together total ten or eleven, because the most likely card that you will receive is a ten or a face card.
 
If your first two cards are the same, you can split them into two hands. Each of the two hands then receives a second card, and each of the two hands is then played exactly like any other hand (except that blackjack only pays even money, and splitting or doubling down is not permitted). You must bet the same amount on the second hand that you bet on the first one.
 
After all of the players have played their hands, the dealer reveals its second card and then plays the hand. The dealer must always hit if its hand totals 16 or less and must always stand if the hand totals 17 or more. After the dealer is through playing, each hand is compared to the dealer's. If the dealer's total is greater than yours, the dealer wins and you lose the bet. If your total is greater than that of the dealer(but not more than 21), you win, and the dealer pays you an amount equal to your bet. A tie is called a push, and neither wins. If the dealer busts (takes a hit which makes the total of the hand greater than 21) all players win except those who have already busted. In these cases the dealer wins.
 
The program initially asks how many players there are, and then asks for the name of each. Then it asks how many decks of cards the dealer should play with. This can be any number between 1 and 6. The number of decks can be important, because certain blackjack players are able to keep track of the cards that have been played so far, and adjust their strategy accordingly. Whenever the number of remaining cards is low,the dealer shuffles, and players who are keeping track of what has been played must start counting all over again.
 
Each player starts with a stake of $1000. At the beginning of each hand, the program asks you how much you want to bet on that hand. There is a maximum bet of $500, and, of course, you cannot bet more than your stake.
 
Once each player has bet, the hand begins. First, the dealer's up card is shown. Then, if the dealer's hand is not blackjack, the first two cards of the first player's hand are shown. If you wish to stand, press the zero key;to hit, press the one key;to double down, you should press the two key;and to split,press the three key. Splitting is only permitted if your two cards are the same, and pressing the three key will have no effect if splitting is not permitted.
 
If you hit, a third card is shown. If you bust, your hand disappears. Otherwise, you must again choose between hitting and standing. You may hit as often as you wish as long as the value of your hand is not more than 21, but once you stand, your turn is over, and the name and first two cards of the next player are shown.
 
Once you have indicated your intention to split your hand the second card will disappear; it will reappear when you finish playing your first hand. Playing of split hands differs only slightly from regular play — splitting your hand a second time and doubling down are not permitted and the pay off for blackjack is reduced to even money.
 
After all of the players have played their hands, the dealer plays. The computer automatically determines the winners and losers of each hand and adjusts the stakes of the players accordingly. If a player's stake is zero or less, they are out of the game.
 
If the dealer's first two cards are a blackjack, both cards are immediately displayed, and the program then displays the first two cards of each player's hand. Players are not given a choice here, since all players have lost unless their hand is also a black jack, in which case, the hand is a push.
 
 
Blackjack
 

Think I got all the bugs! Some tiny in graphics.

Corrections:

550 PRINT NAME$(I);"'S STAKE IS $";STAKE(I)
910 COL=11
1010 IF WORTH=11 THEN 1950
1150 VV=DVV
1460 GOTO 400
1520 VV=32
1700 CALL HCHAR(ROW,COL+1,VV)
1890 VV=48
1930 WORTH=15-Y
2330 IF SPLITMODE=1 THEN 1030
2380 COL=COL+3
2560 PRINT "SORRY, THERE MUST BE        BETWEEN ONE AND SIX DECKS.  TRY AGAIN."
2830 TEMPVV=VV
2870 HAND(I)=HAND(I)-WORTH
2900 SPLITMODE=1
2920 ADDROW=ADDROW+3
2970 V=TEMPVV
2980 VV=TEMPVV
3150 IF ACES(5+I)>0 THEN 3230
3240 ACES(I+5)=ACES(I+5)-1
3260 HAND(I+5)=HAND(I+5)-10
3490 ACES(5+I)=1

Edited by charlietunaz
  • Like 1
Link to comment
Share on other sites

On 2/27/2018 at 7:04 AM, oddemann said:
 
Investments
 
Skill area: Strategy
 
Level: 3
 
 
 
You have just inherited $50,000 from your rich uncle, but one of the stipulations of the will was that you could not spend any of the money for six years. You plan to invest this money as wisely as possible so that in six years, when you have access to the money, you will have as much as possible.
 
 
 
 
 
There are six types of investments available to you:
 
1. The Alpha Steel Company —This is a large steel manufacturing company whose profits seem to rise and fall with the economy. It is currently selling at $50 per share and is paying a dividend of $3 per share.
 
2. Moonbeam Oil — This is a medium-sized firm that drills for oil and gas. Its profits depend primarily on how lucky it is in finding oil or gas. If they have a big strike, owners of this stock could do very well. It is currently selling at $40 a share and is paying a dividend of $1.20 a share.
 
3. Omega Computers —This is a small, high-tech firm that manufactures components for microcomputers. This is a new firm, so there is more risk involved. It is not presently paying a dividend.
 
4. Long-term bonds —Long-term bonds are now paying a coupon rate of $90 for a $1000 bond, which amounts to an interest rate of 9 percent. If interest rates go up, the value of these bonds decreases; if interest rates go down, the value of these bonds increases.
 
5. Gold —Gold pays no interest or dividends, but is an excellent hedge against inflation.
 
6. The Beta Cash Reserves —This is a money market fund. The interest rate that it pays changes depending on short-term interest rates in general. There is no risk of losing your investment.
 
 
 
Any money which is not invested is automatically placed in your bank account, which pays 5 percent interest.
 
 
 
The value of these investments over the six-year period is determined by the Gross National Product (GNP), which is an indicator of the overall health of the economy, the inflation rate, and interest rates. Interest rates tend to rise and fall with the inflation rate. There is a random factor to consider as well.
 
 
 
Occasionally economists will make predictions about the economic conditions for next year. As in the real world, their predictions are sometimes wrong.
 
 
 
On each of the six rounds, corresponding to the six years, you will have the choice of buying as much of each of these as you can afford, or selling whatever you own, depending on market conditions.
 
 
 
A word of advice: Buy low, sell high.
 
 
 
 
 
Investments
 
 
 
 
First time debugging, might be more bugs!

Some Corrections:

150 PRINT "  YOU HAVE JUST INHERITED   $50,000, BUT YOU CAN'T SPEND ANY OF THE MONEY FOR SIX"
160 PRINT "YEARS. YOUR GOAL IS TO IN-  VEST YOUR MONEY TO MAXIMIZE YOUR RETURN OVER A SIX YEAR"
200 PRINT "2. MOONBEAM OIL: THIS IS A  MEDIUM SIZE FIRM WHICH      DRILLS FOR OIL AND NATURAL"
210 PRINT "GAS. IT PAYS A DIVIDEND OF  $1.20 A SHARE. ": :
260 PRINT :::::"3. OMEGA COMPUTER COMPANY:  THIS IS A SMALL HIGH TECH   COMPANY WHICH MAKES MICRO"
270 PRINT "COMPUTER COMPONENTS.  IT IS  NOT PAYING A DIVIDEND NOW."::
290 PRINT "RATE OF 9%.  HOWEVER, IF     INTEREST RATES GO DOWN,"
300 PRINT "THESE INCREASE IN VALUE, ANDIF INTEREST RATES GO UP,    THESE LOSE VALUE."::
830 X=INT(RND*11-3)+A
930 Y=1
1260 PRINT "HAS ANNOUNCED A 2 FOR 1     STOCK SPLIT."

  • Like 1
Link to comment
Share on other sites

On 2/27/2018 at 7:23 AM, oddemann said:
Number Sequences
Skill area: Mathematics and Logic
Level-3
 
A number sequence is a series of numbers which follows a rule. For example, the sequence 3, 6, 9,12,15 is a number sequence, and the rule is: add three to the previous number. Of course, rules can be much more complicated; the series 1, 2, 5,14, 41 is a sequence generated by the rule: multiply the previous number by 3, then subtract 1. Problems involving number sequences often appear on aptitude tests such as the college board exams.
 
The computer will present a series of five numbers. In each case there is a rule which produces the sequence. Your goal is to figure out the rule and type in the next number in the series. If you're correct, the computer will tell you, and if you're wrong, the computer will print the correct answer. You then have to enter the next number, and so on. When you have entered two correct answers in a row, the program assumes that you have figured out what the rule is and it goes on to the next problem. The pro gram will also go on to the next problem if you cannot get two correct answers in a row after seeing the first 12 numbers.
 
After solving these 20 problems, try to think up new series and program them.
 
If you are stumped by one or more of the problems, the table following the program will show you what the rules are.
 
 
Number Sequences

100 REM NUMBER SEQUENCES
110 REM
120 DIM N(20)
130 FOR J=1 TO 20
140 CALL CLEAR
150 PRINT TAB(;"PROBLEM";J::
160 C=0
170 K=1
180 ON J GOSUB 440,470,530,610,670,740,810,890,960,1030,1110,1200,1280,1360,1400,1490,1560,1700,1850,1920
190 IF K>5 THEN 230
200 PRINT TAB(10);N(K)
210 K=K+1
220 GOTO 180 /»>
230 INPUT ANS
240 IF ANS=N(K)THEN 310
250 PRINT TAB(10);N(K)
260 C=0
270 CALL SOUND(300,-3,3)
280 K=K+1
290 IF K>12 THEN 420
300 GOTO 180
310 PRINT "CORRECT";
320 C=C+1
330 IF C=2 THEN 370
340 PRINT TAB(10);N(K)
350 K=K+1
360 GOTO 290
370 PRINT "HIT ANY KEY TO CONTINUE."
380 CALL KEY(0,Q,S)
390 IF S=0 THEN 380
400 NEXT J
410 END
420 PRINT "LET'S TRY ANOTHER ONE."
430 GOTO 370
440 REM ***PROBLEM 1***
450 N(K)=N(K-1)+2
460 RETURN
470 REM ***PROBLEM 2***
480 IF K=1 THEN 510
490 N(K)=2*(N(K-1))
500 RETURN
510 N(K)=1
520 RETURN
530 REM ***PROBLEM 3***
540 IF K=1 THEN 580
550 X=X+1
560 N(K)=N(K-1)+X
570 RETURN
580 N(K)=1
590 X=1
600 RETURN
610 REM ***PROBLEM 4***
620 IF K=1 THEN 650
630 N(K)=N(K-1)/2
640 RETURN
650 N(K)=2048
660 RETURN
670 REM ***PROBLEM 5***
680 IF K=1 THEN 710 t*
690 N(K)=N(K-)+N(K-2)
700 RETURN
710 N(K)=1
720 N(0)=0
730 RETURN
740 REM ***PROBLEM 6***
750 IF K=1 THEN 790
760 X=X+1
770 N(K)=2*X*X
780 RETURN
790 X=0
800 GOTO 760
810 REM ***PROBLEM 7***
820 IF K=1 THEN 860
830 N(K)=X*X
840 X=X-1
850 RETURN
860 X=12
870 GOTO 830
880 RETURN
890 REM ***PROBLEM 8***
900 IF K=1 THEN 940
910 N(K)=X*(X-1)
920 X=X+1
930 RETURN
940 X=2
950 GOTO 910
960 REM ***PROBLEM 9***
970 IF K=1 THEN 1010
980 X=X+1
990 N(K)=XA3
1000 RETURN
1010 X=0
1020 GOTO 980
1030 REM ***PROBLEM 10***
1040 IF K=1 THEN 1080
1050 N(K)=N(K-1)+X*X
1060 X=X+1
1070 RETURN
1080 X=0
1090 N(0)=1
1100 GOTO 1050
1110 REM ***PROBLEM 11***
1120 N(K)=31
1130 IF (K=4)+(K=6)+(K=9)+(K=11)THEN 1160
1140 IF K=2 THEN 1180
1150 RETURN
1160 N(K)=30
1170 RETURN
1180 N(K)=28
1190 RETURN
1200 REM ***PROBLEM 12***
1210 IF K=1 THEN 1250
1220 N(K)=N(K-1)+X
1230 X=X-1
1240 RETURN
1250 X=12
1260 N(0)=0
1270 GOTO 1220
1280 REM ***PROBLEM 13***
1290 IF K=1 THEN 1330
1300 X=X+1
1310 N(K)=N(K-1)*X
1320 RETURN
1330 N(K)=1
1340 X=1
1350 RETURN
1360 REM ***PROBLEM 14***
1370 N(0)=0
1380 N(K)=2*N(K-1)+1
1390 RETURN
1400 REM ***PROBLEM 15***
1410 IF K=1 THEN 1470
1420 X=INT(N(K-1)/100)
1430 Y=INT((N(K-1)-X*100)/10)
1440 Z=N(K-1)-100*X-10*Y
1450 N(K)=N(K-1)+X+Y+Z
1460 RETURN
1470 N(K)=17
1480 RETURN
1490 REM ***PROBLEM 16***
1500 IF K=1 THEN 1540
1510 N(K)=INT((1/X)*1000+.5)
1520 X=X+1
1530 RETURN
1540 X=1
1550 GOTO 1510
1560 REM ***PROBLEM 17***
1570 IF K<4 THEN 1650
1580 X=X+1
1590 V=2
1600 IF INT(X/V)=X/V THEN 1580
1610 V=V+1
1620 IF V<X THEN 1600
1630 N(K)=X
1640 RETURN
1650 N(1)=1
1660 N(2)=2
1670 N(3)=3
1680 X=4
1690 RETURN
1700 REM ***PROBLEM 18***
1710 N(1)=3
1720 N(2)=3
1730 N(3)=5
1740 N(4)=4
1750 N(5)=4
1760 N(6)=3
1770 N(7)=5
1780 N(=5
1790 N(9)=4
1800 N(10)=3
1810 N(11)=6
1820 N(12)=6
1830 N(13)=8
1840 RETURN
1850 REM ***PROBLEM 19***
1860 IF K=1 THEN 1900
1870 N(K)=INT(360/X+.5)
1880 X=X-1
1890 RETURN
1900 X=12
1910 GOTO 1870
1920 REM ***PROBLEM 20***
1930 IF K=1 THEN 2000
1940 Z1=INT((X^2)/100)
1950 Z2=INT((X^2-Z1*100)/10)
1960 Z3=X^2-Z1*100-Z2*10
1970 N(K)=Z1+Z2+Z3
1980 X=X+1
1990 RETURN
2000 X=1
2010 GOTO 1940

I think it is bug free! Short test worked!

 
 
Level 3 Games
Rules for Solving the Number Sequence Problems
1. Add 2 to the previous number.
2. Multiply the previous number by 2.
3. Start with 1, add 1 to it, then add 2 to the result, then add 3 to the result, and so on.
4. Start with 2048, divide it by 2, divide that number by 2, divide that number by 2, and so on. The number 2048 was selected to start, because the result is 1 after 12 rounds.
5. Each number in the series is the sum of the two previous numbers.
6. Start with 2, then add 6, then add 10, then add 14, and so on. Alternately, this series can be thought of as 2 times con
7. 12 squared, 11 squared, 10 squared, etc.
8. 1 times 2, 2 times 3, 3 times 4, and so on.
9. 1 cubed, 2 cubed, 3 cubed, etc.
10. Add consecutive squares, i.e., add 1, then add 4 to that, then add 9 to that, and so on.
11. The number of days in each month.
12. Add 12, then add 11, then add 10, and so on.
13. Multiply the previous number by 2, multiply that by 3, multiply that by 4, and so on.
14. Multiply the previous number by 2, and then add 1.
15. Add the sum of the digits of the previous number to the previous number.
16. 1000 divided by 1,1000 divided by 2,1000 divided by 3, and soon.
17. Consecutive prime numbers.
18. The number of letters in one, two, three, and so on.
19. 360 divided by 12, 360 divided by 11, 360 divided by 10, and soon.
20. The sum of the digits in consecutive squares.



With that I am done with this book!

I hope this is OK and of interesse for other TOO! Will look closer at the programs to try to fix bugs. But your free to help. ;)

Mvh
Odd K.

Some Corrections:

 

150 PRINT TAB(8);"PROBLEM";J::
220 GOTO 180
680 IF K=1 THEN 710
690 N(K)=N(K-1)+N(K-2)
990 N(K)=X^3
1780 N(8)=5

  • Like 2
Link to comment
Share on other sites

On 2/25/2018 at 7:21 PM, oddemann said:
Maze Race
Skill area Coordination
Level: 2,3
 
This game is similar to the maze game except that it is a head-to head race against the clock. The game starts by asking for each of the two players to enter a single character which will represent that player. This character can be any letter, any digit,or any other character on the keyboard. The program then asks how many laps the race should be. This can be any number from one to eight.
 
A double maze is displayed on the board. The two halves of the maze are identical. The character for player 1 is at the bottom of the left-hand maze, and the character for player 2 is at the bottom of the right-hand maze. As soon as the maze is displayed, the race begins. The first player controls his character with the E key (up), the S key (left), the X key (down), and the D key (right).
 
The second player controls his character with the O key (up), the K key (left), the comma key (down), and the L key (right). A single lap is from the bottom of the screen to the top, or from the top to the bottom. To complete a lap, it is necessary to actually enter the opening in the top or bottom row. The race ends when one of the players completes the number of laps in the race.
 
This game is particularly good for elementary-school children, although older children enjoy it as well.
 
The ALPHA LOCK key must be down for this game to play properly.
 
The program can be easily modified so that it can be played with joysticks. This is accomplished by substituting the following lines in the program:
 
500 CALL JOYST(l,X,Y)
520 IF (Y=4)*(R(N)>1)THEN 690
530 IF (X=-4)THEN 720
540 IF (X=4)THEN 750
550 IF (Y=-4)*(R(N)<23)THEN 780
610 CALL JOYST(2,X,Y)
620 IF (Y=4)*(R(N)>1)THEN 690
630 IF (X=-4)THEN 720
640 IF (X=4)THEN 750
650 IF (Y=-4)*(R(N)<23)THEN 780
 
Line 610 should be deleted when using joysticks.
 
As always, the ALPHA LOCK key must be up in order for this program to work properly with joysticks.
 
Maze Race
 
 

Everything is OK until you want to exit game... Y N do not work!

I made the following changes:

282 FOR N=1 TO 2
284 L(N)=0
286 NEXT N
860 CALL HCHAR(OLDR(N),OLDC(N),32)
890 IF (R(N)=1)+(R(N)=23)THEN 920
1060 IF (K=89)+(K=121)THEN 1090
1090 CALL CLEAR
1100 GOTO 250

 

and removed the following lines:

230 L(N)=0

910 IF UP(N)=R(N)THEN 960
950 UP(N)=R(N)

 

The program was not resetting the number of laps after each round.  I changed it so 1)it would reset laps won and 2)you would be forced to select the number of laps every time you decide to play again.

 

 

  • Like 1
Link to comment
Share on other sites

I debugged, cleaned, and updated all the programs on this thread and saved them as a Zip file collection that I've attached here.  Only two of the 37 programs I changed were free of some sort of typo or formatting glitch.   I may have missed a few bugs here and there though. Most issues were OCR related, (0 instead of O, l instead of 1, W instead of VV, 8 and 3 and B confusion, and a few others).  A few changes were about missing spaces between quotes.

I enjoyed fixing them, it was good practice, and now all programs should be hopefully, bug free.  I play tested them to the best of my abilities, entering right, wrong answers, crazy answers, just to see all possible results.  The games are nice and enjoyable.

 

 

GAMESKIDS.zip

GAMESKIDS1.dsk GAMESKIDS2.dsk

Edited by charlietunaz
Added DSK files (SS SD)
  • Like 4
  • Thanks 1
Link to comment
Share on other sites

10 hours ago, charlietunaz said:

I debugged, cleaned, and updated all the programs on this thread and saved them as a Zip file collection that I've attached here.  Only two of the 37 programs I changed were free of some sort of typo or formatting glitch.   I may have missed a few bugs here and there though. Most issues were OCR related, (0 instead of O, l instead of 1, W instead of VV, 8 and 3 and B confusion, and a few others).  A few changes were about missing spaces between quotes.

I enjoyed fixing them, it was good practice, and now all programs should be hopefully, bug free.  I play tested them to the best of my abilities, entering right, wrong answers, crazy answers, just to see all possible results.  The games are nice and enjoyable.

 

 

GAMESKIDS.zip 73.26 kB · 5 downloads

I am impressed by the speed of your debugging and grateful for the time you put on it to fix it for all of us! Thank you, very much!

PS! I am working on "36-texas-instruments-ti994a-programs-for-home-school-office", made a Word doc. of them all. I am unsure if I should dump the doc. in a new tread or not. It is a physical book I have, so I have found a PDF and copied it all to a word doc. But there is a lot of the bugs you pointed at. Been using the tools to find l,<,>, 5,'' with more and changing them to 1,(,),;,". A lot of debugging. :p

Edited by oddemann
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...