charlietunaz Posted March 15, 2021 Share Posted March 15, 2021 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 1 Quote Link to comment Share on other sites More sharing options...
charlietunaz Posted March 15, 2021 Share Posted March 15, 2021 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 1 Quote Link to comment Share on other sites More sharing options...
charlietunaz Posted March 15, 2021 Share Posted March 15, 2021 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 1 Quote Link to comment Share on other sites More sharing options...
charlietunaz Posted March 15, 2021 Share Posted March 15, 2021 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) 1 Quote Link to comment Share on other sites More sharing options...
charlietunaz Posted March 15, 2021 Share Posted March 15, 2021 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 1 Quote Link to comment Share on other sites More sharing options...
charlietunaz Posted March 15, 2021 Share Posted March 15, 2021 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) 1 Quote Link to comment Share on other sites More sharing options...
charlietunaz Posted March 15, 2021 Share Posted March 15, 2021 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)) 2 Quote Link to comment Share on other sites More sharing options...
charlietunaz Posted March 16, 2021 Share Posted March 16, 2021 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)) 1 Quote Link to comment Share on other sites More sharing options...
charlietunaz Posted March 16, 2021 Share Posted March 16, 2021 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) 1 Quote Link to comment Share on other sites More sharing options...
charlietunaz Posted March 16, 2021 Share Posted March 16, 2021 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 1 Quote Link to comment Share on other sites More sharing options...
charlietunaz Posted March 16, 2021 Share Posted March 16, 2021 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) 2 Quote Link to comment Share on other sites More sharing options...
charlietunaz Posted March 16, 2021 Share Posted March 16, 2021 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! Quote Link to comment Share on other sites More sharing options...
charlietunaz Posted March 16, 2021 Share Posted March 16, 2021 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), 2 Quote Link to comment Share on other sites More sharing options...
charlietunaz Posted March 16, 2021 Share Posted March 16, 2021 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;".":: 1 Quote Link to comment Share on other sites More sharing options...
charlietunaz Posted March 16, 2021 Share Posted March 16, 2021 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 1 Quote Link to comment Share on other sites More sharing options...
charlietunaz Posted March 17, 2021 Share Posted March 17, 2021 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) 1 Quote Link to comment Share on other sites More sharing options...
charlietunaz Posted March 17, 2021 Share Posted March 17, 2021 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? The display bug was simply some missing print separators The rest of the program is fine. 250 PRINT TAB(25);L-1::::::::::::::::: 1 Quote Link to comment Share on other sites More sharing options...
charlietunaz Posted March 17, 2021 Share Posted March 17, 2021 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) 1 Quote Link to comment Share on other sites More sharing options...
charlietunaz Posted March 17, 2021 Share Posted March 17, 2021 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!" 1 Quote Link to comment Share on other sites More sharing options...
charlietunaz Posted March 18, 2021 Share Posted March 18, 2021 (edited) 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 March 18, 2021 by charlietunaz 1 Quote Link to comment Share on other sites More sharing options...
charlietunaz Posted March 18, 2021 Share Posted March 18, 2021 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." 1 Quote Link to comment Share on other sites More sharing options...
charlietunaz Posted March 18, 2021 Share Posted March 18, 2021 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 2 Quote Link to comment Share on other sites More sharing options...
charlietunaz Posted March 18, 2021 Share Posted March 18, 2021 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. 1 Quote Link to comment Share on other sites More sharing options...
charlietunaz Posted March 18, 2021 Share Posted March 18, 2021 (edited) 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 March 18, 2021 by charlietunaz Added DSK files (SS SD) 4 1 Quote Link to comment Share on other sites More sharing options...
oddemann Posted March 18, 2021 Author Share Posted March 18, 2021 (edited) 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 March 18, 2021 by oddemann 1 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.