oddemann Posted February 25, 2018 Share Posted February 25, 2018 (edited) TI Games for kids!Link to the book!Text files with programs from the book!First program: Screen Color Pattern Example 100 CALL CLEAR 110 FOR N=1 TO 4 120 CALL CHAR(88+N*8,"007E424242427E00") 130 CALL COLOR(8+N,N*3,1) 140 NEXT N 150 CALL SCREEN(16) 160 DIFF=1 170 C0L=1 180 X=INT(RND*4+1) 190 Y=INT(RND*4+1) 200 PRINT TAB(15-COL);CHR$(88+8*X);TAB(14+COL);CHR$(88+8*Y) 210 COL=COL+DIFF 220 IF (COL>1)*(COL<10)THEN 180 230 DIFF=-DIFF 240 GOTO 180 Edited February 27, 2018 by oddemann 1 Quote Link to comment Share on other sites More sharing options...
oddemann Posted February 25, 2018 Author Share Posted February 25, 2018 (edited) Building Blocks Skill area - Coordination LeveL 1,2 Kids love to play with blocks, so it is only appropriate to have a blocks game for the computer. The blocks are arranged in six stacks with different coloured blocks in each stack. The blocks can be moved by the crane, which is manipulated with five keys. The S key moves it to the left, the D key moves it to the right, the X key moves it down, and the E key moves it up. The F key causes the crane to drop a block if it is carrying one. The crane can move left or right only when it is in the opposition. Using the keys, you maneuver the crane over a stack of blocks and then lower it until it picks up a block. You can then raise the crane to the top position, and move it left or right. When the block is over the position where you want the block to be, pressing the F key causes the block to drop into position. Then you can go back and pick up another block. You can build any sort of building, house, or tower that you want. The program runs indefinitely and must be ended with the CLEAR function. Remember that the ALPHA LOCK key must be down in order for the program to work properly. The program as listed works from the keyboard, but the pro gram can be modified so that the crane is manipulated by joysticks, and the fire button drops the blocks. To alter the program for use with joysticks, make the following changes: 1. Delete lines 130 to 230 2. Substitute the following lines for those in the program: 510 CALL JOYST(l,X,Y) 520 IF (X=0)*(Y=4)THEN 580 530 IF (X=4)*(Y=0)THEM 650 540 IF (X=-4)*(Y=0)THEN 750 550 IF (X=0)*(Y=-4)THEN 850 560 CALL KEY(1,K,S) 3. Add a new line with the number 565 565 IF K=18 THEN 1030 Make sure that none of the other line numbers are changed when 17 /&fei Level 1 Games you delete the lines at the beginning of the program. The joysticks " will work properly only if the ALPHA LOCK key is up. As with any program using joysticks, only one of the two units will work, **> and you will need to experiment to see which of the two works. If for some reason you want the other unit to work instead, change the 1 to a 2 in the parentheses in lines 510 and 560. 100 REM BUILDING BLOCKS 110 REM 120 CALL CLEAR 130 PRINT TAB(7);"BUILDING BLOCKS":: 140 PRINT "MAKE SURE THAT THE ALPHA LOCK KEY IS DOWN (ON).":: 150 PRINT "USE S KEY TO GO LEFT":: 160 PRINT "USE E KEY TO GO UP":: 170 PRINT "USE D KEY TO GO RIGHT":: 180 PRINT "USE X KEY TO GO DOWN":: 190 PRINT "USE F KEY TO DROP BLOCK":: 200 PRINT "HIT ANY KEY TO BEGIN." 210 CALL KEY(0,K,S) 220 IF S=0 THEN 210 230 CALL CLEAR 240 A$="FEFEFEFEFEFEFE" 250 CALL SCREEN(16) 260 CALL CHAR(40,A$) 270 CALL CHAR(41,"FF402010080402FF") 280 CALL CHAR(42,"1818181813181818") 290 CALL CHAR(43,"181818181818FFFF") 300 CALL CHAR(48,A$) 310 CALL CHAR(56,A$) 320 CALL CHAR(64,A$) 330 CALL CHAR(72,A$) 340 CALL COLOR(2,2,1) 350 CALL COLOR(3,3,1) 360 CALL COLOR(4,8,1) 370 CALL COLOR(5,9,1) 380 CALL COLOR(6,11,1) 390 CALL HCHAR(23,1,40,32) 400 CALL HCHAR(1,3,41,28) 410 CALL HCHAR(2,18,43) 420 CALL VCHAR(9,24,64,14) 430 CALL VCHAR(9,25,72,14) 440 CALL VCHAR(9,26,48,14) 450 CALL VCHAR(9,27,56,14) 460 CALL VCHAR(9,28,64,14) 470 CALL VCHAR(9,29,72,14) 480 R=2 490 C=18 500 CALL HCHAR(24,C,94) 510 CALL KEY(0,K,S) 520 IF K=69 THEN 580 530 IF K=68 THEN 650 540 IF K=83 THEN 750 550 IF K=88 THEN 850 560 IF K=70 THEN 1030 570 GOTO 510 580 IF R=2 THEN 510 590 CALL GCHAR(R+1,C,G) 600 CALL VCHAR(R,C,32,2) 610 R=R-1 620 CALL HCHAR(R,C,43) 630 CALL HCHAR(R+1,C,G) 640 GOTO 510 650 IF C=29 THEN 510 660 IF R>2 THEN 510 670 CALL GCHAR(R+1,C,G) 680 CALL VCHAR(R,C,32,2) 690 CALL HCHAR(24,C,32) 700 C=C+1 710 CALL HCHAR(R,C,43) 720 CALL HCHAR(R+1,C,G) 730 CALL HCHAR(24,C,94) 740 GOTO 510 750 IF C=3 THEN 510 760 IF R>2 THEN 510 770 CALL GCHAR(R+1,C,G) 780 CALL VCHAR(R,C,32,2) 790 CALL HCHAR(24,C,32) 800 C=C-1 810 CALL HCHAR(R,C,43) 820 CALL HCHAR(R+1,C,G) 830 CALL HCHAR(24,C,94) 840 GOTO 510 850 CALL GCHAR(R+1,C,G) 860 IF G=32 THEN 900 870 CALL GCHAR(R+2,C,GG) 880 IF GG=32 THEN 980 890 GOTO 510 900 IF R=21 THEN 510 910 CALL HCHAR(R,C,42) 920 R=R+1 930 CALL HCHAR(R,C,43) 940 CALL GCHAR(R+1,C,G) 950 IF G=32 THEN 510 960 CALL SOUND(100,300,3) 970 GOTO 510 980 CALL HCHAR(R,C,42) 990 R=R+1 1000 CALL HCHAR(R,C,43) 1010 CALL HCHAR(R+1,C,G) 1020 GOTO 510 1030 CALL GCHAR(R+1,C,G) 1040 IF G=32 THEN 510 1050 D=1 1060 CALL SOUND(50,300,3) 1070 CALL GCHAR(R+D+1,C,GG) 1080 IF GG<>32 THEN 1130 1090 CALL HCHAR(R+D,C,32) 1100 D=D+1 1110 CALL HCHAR(R+D,C,G) 1120 GOTO 1070 1130 CALL SOUND(50,-6,3) 1140 GOTO 510 Should work now! Edited February 26, 2018 by oddemann 2 Quote Link to comment Share on other sites More sharing options...
oddemann Posted February 25, 2018 Author Share Posted February 25, 2018 (edited) Number Concepts Skill area: Mathematics LeveL 1,2 The only skills required to play "Number Concepts" are the ability to count and the ability to locate number keys on the keyboard and type them. A number of objects are displayed on the screen. You must count the objects and enter the number. If you enter the correct number, a little man dances across the screen, and a new problem appears. If you enter the wrong number, the program makes an unpleasant sound, and you are given another try. If, after three tries, you still have not entered the correct number, the answer is flashed across the screen. Then a new problem appears. Your parents can set the minimum and maximum number of objects. For those who are just beginning to learn numbers, a parent could set a minimum of one and a maximum of three so that all of the problems would have one, two, or three objects. For those who are more advanced, the parent could set the mini mum at ten and the maximum at twenty so that all of the problems would have between ten and twenty objects. The maximum number of objects allowed is twenty-five, and there must be a range of at least three. There are six possible objects, and which object is used on a particular turn is determined randomly.The text with {Def of SPACES}390 PRINT "THIS IS A PROGRAM TO TEACH NUMBER CONCEPTS AND COUNTING" PRINT "TO YOUNG CHILDREN. WILL BE DISPLAYED" 400 PRINT "ON THE SCREEN, AND THE CHILDMUST KEY IN THE CORRECT{5 SPACES}NUMBER. FIRST, YOU HAVE TO" 410 PRINT "ENTER THE MINIMUM NUMBER{4 SPACES}OF OBJECTS AND THE MAXIMUM" 420 PRINT "NUMBER (UP TO 25)."::Number Concepts 100 REM NUMBER CONCEPTS 110 REM 120 CALL CLEAR 130 RANDOMIZE 140 CALL CHAR(128,"00000103070F1F3F") 150 CALL CHAR(129,"00000080C0E0F0F81") 160 CALL CHAR(130,"7F3F1F0F070301001") 170 CALL CHAR(131,"FCF8F0E0C08000001") 180 CALL CHAR(132,"0000000C1E3F3F3F1") 190 CALL CHAR(133,"00000060F0F8F8F8") 200 CALL CHAR(134,"3F1F0F07030100001") 210 CALL CHAR(135,"F8F0E0C0800000001") 220 CALL CHAR(136,"0000387C1C0C0C0E") 230 CALL CHAR(137,"0000000000000006") 240 CALL CHAR(138,"1F1F0F0703010300") 250 CALL CHAR(139,"FEFCF8F0E0406000") 260 CALL CHAR(140,"000002040810207F") 270 CALL CHAR(141,"00000000000000FE") 280 CALL CHAR(142,"2010080402000000") 290 CALL CHAR(143,"0") 300 CALL CHAR(144,"FFFFC0C0C0C0C0C0") 310 CALL CHAR(145,"FFFF030303030303") 320 CALL CHAR(146,"C0C0C0C0C0C0FFFF") 330 CALL CHAR(147,"030303030303FFFF") 340 CALL CHAR(148,"01010101010101FF") 350 CALL CHAR(149,"80808080808080FF") 360 CALL CHAR(150,"FF01010101010101") 370 CALL CHAR(151,"FF80808080808080") 380 CALL CHAR(152,"1818FF18182442") 390 PRINT "THIS IS A PROGRAM TO TEACH NUMBER CONCEPTS AND COUNTING" 400 PRINT "TO YOUNG CHILDREN. WILL BE DISPLAYED" 410 PRINT "ON THE SCREEN, AND THE CHILDMUST KEY IN THE CORRECT NUMBER. FIRST, YOU HAVE TO" 420 PRINT "ENTER THE MINIMUM NUMBER OF OBJECTS AND THE MAXIMUM" 430 PRINT "NUMBER (UP TO 25).":: 450 INPUT "MINIMUM ":MIN 460 PRINT 470 IF (MIN<1)+(MIN>21)THEN 870 480 INPUT "MAXIMUM ":MAX 490 IF (MAX<3)+(MAX>25)THEN 890 500 IF (MAX-MIN)<2 THEN 890 510 DIFF=MAX-MIN+1 520 CALL CLEAR 530 ERROR=0 540 X=INT(RND*DIFF+MIN) 550 Y=INT(RND*6+1) 560 FOR J=l TO X 570 C=(INT(RND*6+1))*4+2 580 R=(INT(RND*5+1))*4 590 CALL GCHAR(R,C,G) 600 IF G>32 THEN 570 610 CALL HCHAR(R,C,124+4*Y) 620 CALL HCHAR(R,C+1,125+4*Y) 630 CALL HCHAR(R+1,C,126+4*Y) 640 CALL HCHAR(R+1,C+1,127+4*Y) 650 NEXT J 660 INPUT GUESS 670 IF GUESS=X THEN 720 680 ERROR=ERROR+1 690 CALL SOUND(200,-3,2) 700 IF ERR0R<3 THEN 660 710 GOTO 810 720 CALL CLEAR 730 D=150 740 FOR K=6 TO 26 750 CALL HCHAR(12,K,152) 760 CALL SOUND(250,500+D,2) 770 D=-D 780 CALL HCHAR(12,K,32) 790 NEXT K 800 GOTO 520 810 FOR 1=1 TO 20 820 PRINT TAB(14);X 830 NEXT I 840 FOR 1=1 TO 400 850 NEXT I 860 GOTO 520 870 PRINT :"TRY AGAIN 1":: 880 GOTO 450 890 PRINT :"TRY AGAIN!":: 900 GOTO 480 Works fine, but s never-ending, not sure if that is a bug! Edited February 26, 2018 by oddemann Quote Link to comment Share on other sites More sharing options...
ti99iuc Posted February 25, 2018 Share Posted February 25, 2018 (edited) i have not tested it but for the program Building Blocks, in line 1050 you have to write D=1, there is an L now. Edited February 25, 2018 by ti99iuc Quote Link to comment Share on other sites More sharing options...
oddemann Posted February 25, 2018 Author Share Posted February 25, 2018 (edited) Bats and Bugs Skill area: Coordination Level: 1 "Bats and Bugs" is a videogame for preschool children. It can be played by anyone who is old enough eitherto manipulate joysticks or control a character using the four arrow keys. Because it is for preschoolers, it plays very slowly, and there is no score. You are rewarded with songs such as 'Twinkle Twinkle Little Star" or "Oh Susannah." You move a bat around the screen with the four arrow keys, and as the bat moves, it flaps its wings. There are eight bugs on the screen which also move about, and the objec tive is for the bat to catch a bug. Whenever it does, one of four songs plays. This game teaches you eye/hand coordination and the concepts of left, right, up and down. The program uses the four arrow keys —S for left, E for up, D for right, and Xfor down —to control the bat. However, it can be easily modified so that the bat is controlled with joysticks instead. This can be done by substituting the following five lines: 350 CALL JOYST(l,X,Y) 380 IF (X=0)*(Y=4)THEN 820 390 IF (X=4)*(Y=0)THEN 850 400 IF (X=0)*(Y=-4)THEN 880 410 IF (X=-4)*(Y=0)THEN 910 When using the four keys, the ALPHA LOCK key must be down; when using joysticks, the ALPHA LOCK key must be up.240 DIM A( 8 ),B( 8 ) Just so you fix it!!! If you get it wrong on your copying it! Bats and Bugs 100 REM BATS AND BUGS 110 REM 120 CALL CLEAR 130 CALL CHAR(132,"0000FFFF03030100") 140 CALL CHAR(133,"0000FFFFC0C08000") 150 CALL CHAR(134,"00081C3763430100") 160 CALL CHAR(135,"001038ECC6C28000") 170 R=12 180 N=1 190 C=14 200 D=1 210 CALL SCREEN(16) 220 E=-1 230 RANDOMIZE 240 DIM A(,B( 250 FOR I=1 TO 8 260 A(I)=INT(RND*20+2) 270 B(I)=INT(RND*24+4) 280 IF (A(I)=12)*(B(I)=14)THEN 260 290 IF (A(I)=12)*(B(I)=15)THEN 260 300 CALL HCHAR(A(I),B(I),42) 310 NEXT I 320 REM LOOP BEGINS 330 T=0 340 E=-E 350 CALL KEY(0,K,S) 360 CALL HCHAR(R,C,32) 370 CALL HCHAR(R,C+1,32) 380 IF K=69 THEN 820 390 IF K=68 THEN 850 400 IF K=88 THEN 880 410 IF K=83 THEN 910 420 CALL GCHAR(R,C,G) 430 CALL GCHAR(R,C+1,GG) 440 CALL HCHAR(R,C,133+E) 450 CALL HCHAR(R,C+1,134+E) 460 IF (G=42)+(GG=42)THEN 620 470 K=INT(RND*8+1) 480 CALL HCHAR(A(K),B(K),32) 490 A(K)=A(K)+D 500 B(K)=B(K)+E 510 D=-D 520 IF A(K)<2 THEN 700 530 IF A(K)>23 THEN 720 540 IF B(K)<4 THEN 740 550 IF B(K)>28 THEN 760 560 CALL GCHAR(A(K),B(K),H) 570 IF H>100 THEN 620 580 CALL HCHAR(A(K),B(K),42) 590 T=T+1 600 IF T<2 THEN 470 610 GOTO 320 620 ON N GOSUB 940,1310,1630,2090 630 N=N+1 640 IF N>4 THEN 2410 650 V=1 660 IF (A(V)=R)*(B(V)=C)THEN 780 670 IF (A(V)=R)*(B(V)=C+1)THEN 780 680 V=V+1 690 GOTO 660 700 A(K)=2 710 GOTO 540 720 A(K)=23 730 GOTO 540 740 B(K)=4 750 GOTO 580 760 B(K)=28 770 GOTO 580 780 A(V)=INT(RND*24+1) 790 B(V)=INT(RND*26+3) 800 CALL HCHAR(A(V),B(V),42) 810 GOTO 470 820 IF R=2 THEN 420 830 R=R-1 840 GOTO 420 850 IF C=28 THEN 420 860 C=C+2 870 GOTO 420 880 IF R=23 THEN 420 890 R=R+1 900 GOTO 420 910 IF C=4 THEN 420 920 C=C-2 930 GOTO 420 940 REM TWINKLE TWINKLE LITTLE STAR 950 CALL SCREEN(11) 960 CALL COLOR(2,2,1) 970 CALL COLOR(13,2,1) 980 Q=0 990 CALL SOUND(350,262,2) 1000 CALL SOUND(350,262,2) 1010 CALL SOUND(350,392,2) 1020 CALL SOUND(350,392,2) 1030 CALL SOUND(350,440,2) 1040 CALL SOUND(350,440,2) 1050 CALL SOUND(550,392,2) 1060 FOR I=1 TO 80 1070 NEXT I 1080 CALL SOUND(350,349,2) 1090 CALL SOUND(350,349,2) 1100 CALL SOUND(350,330,2) 1110 CALL SOUND(350,330,2) 1120 CALL SOUND(350,294,2) 1130 CALL SOUND(350,294,2) 1140 CALL SOUND(550,262,2) 1150 IF Q=2 THEN 1300 1160 FOR I=1 TO 150 1170 NEXT I 1180 Q=Q+1 1190 CALL SOUND(350,392,2) 1200 CALL SOUND(350,392,2) 1210 CALL SOUND(350,349,2) 1220 CALL SOUND(350,349,2) 1230 CALL SOUND(350,330,2) 1240 CALL SOUND(350,330,2) 1250 CALL SOUND(550,294,2) 1260 FOR I=1 TO 80 1270 NEXT I 1280 IF Q=1 THEN 1180 1290 IF Q=2 THEN 990 1300 RETURN 1310 REM OLD FOLKS AT HOMI 1320 CALL SCREEN( 1330 P=1 1340 CALL SOUND(450,330,2) 1350 CALL SOUND(250,294,2) 1360 CALL SOUND(250,262,2) 1370 CALL SOUND(250,330,2) 1380 CALL SOUND(250,294,2) 1390 CALL SOUND(450,262,2) 1400 CALL SOUND(450,523,2) 1410 CALL SOUND(250,440,2) 1420 CALL SOUND(450,523,2) 1430 FOR I=1 TO 100 1440 NEXT I 1450 IF P=2 THEN 1540 1460 P=2 1470 CALL SOUND(450,392,2) 1480 CALL SOUND(250,330,2) 1490 CALL SOUND(250,262,2) 1500 CALL SOUND(600,294,2) 1510 FOR I=1 TO 150 1520 NEXT I 1530 GOTO 1340 1540 CALL SOUND(450,392,2) 1550 CALL SOUND(250,330,2) 1560 CALL SOUND(150,262,2) 1570 CALL SOUND(450,294,2) 1580 CALL SOUND(450,294,2) 1590 CALL SOUND(600,262,2) 1600 FOR I=1 TO 200 1610 NEXT I 1620 RETURN 1630 REM OH SUSANNA 1640 CALL SCREEN(10) 1650 Q=1 1660 QQ=1 1670 CALL SOUND(200,262,2) 1680 CALL SOUND(200,294,2) 1690 CALL SOUND(300,330,2) 1700 CALL SOUND(300,392,2) 1710 CALL SOUND(300,392,2) 1720 CALL SOUND(300,440,2) 1730 CALL SOUND(300,392,2) 1740 CALL SOUND(300,330,2) 1750 CALL SOUND(400,262,2) 1760 CALL SOUND(200,294,2) 1770 CALL SOUND(300,330,2) 1780 CALL SOUND(300,330,2) 1790 CALL SOUND(300,294,2) 1800 IF Q=2 THEN 1870 1810 Q=2 1820 CALL SOUND(300,262,2) 1830 CALL SOUND(500,294,2) 1840 FOR I=1 TO 100 1850 NEXT I 1860 GOTO 1670 1870 CALL SOUND(300,294,2) 1880 CALL SOUND(500,262,2) 1890 IF QQ=2 THEN 2080 1900 FOR I=1 TO 150 1910 NEXT I 1920 CALL SOUND(600,349,2) 1930 CALL SOUND(600,349,2) 1940 CALL SOUND(300,440,2) 1950 CALL SOUND(600,440,2) 1960 FOR I=1 TO 80 1970 NEXT I 1980 CALL SOUND(300,440,2) 1990 CALL SOUND(300,392,2) 2000 CALL SOUND(300,392,2) 2010 CALL SOUND(300,330,2) 2020 CALL SOUND(300,262,2) 2030 CALL SOUND(600,294,2) 2040 FOR I=1 TO 100 2050 NEXT I 2060 QQ=2 2070 GOTO 1670 2080 RETURN 2090 REM LONDON BRIDGE 2100 CALL SCREEN(2) 2110 CALL COLOR(2,16,1) 2120 CALL COLOR(13,16,1) 2130 Q=1 2140 CALL SOUND(500,392,2) 2150 CALL SOUND(200,440,2) 2160 CALL SOUND(300,392,2) 2170 CALL SOUND(300,349,2) 2180 CALL SOUND(300,330,2) 2190 CALL SOUND(300,349,2) 2200 CALL SOUND(500,392,2) 2210 FOR I=1 TO 80 2220 NEXT I 2230 IF Q=2 THEN 2360 2240 CALL SOUND(300,294,2) 2250 CALL SOUND(300,330,2) 2260 CALL SOUND(500,349,2) 2270 FOR I=1 TO 80 2280 NEXT I 2290 CALL SOUND(300,330,2) 2300 CALL SOUND(300,349,2) 2310 CALL SOUND(500,392,2) 2320 FOR I=1 TO 150 2330 NEXT I 2340 Q=Q+1 2350 GOTO 2140 2360 CALL SOUND(500,294,2) 2370 CALL SOUND(500,392,2) 2380 CALL SOUND(300,330,2) 2390 CALL SOUND(500,262,2) 2400 RETURN 2410 N=1 2420 GOTO 650 Think I got all the PDF bugs! Edited February 26, 2018 by oddemann Quote Link to comment Share on other sites More sharing options...
oddemann Posted February 25, 2018 Author Share Posted February 25, 2018 i have not tested it but for the program Building Blocks, in line 1050 you have to write D=1, there is an L now. Thx!!! It is the copying from PDF to Notepad that make "smart" bugs 1 Quote Link to comment Share on other sites More sharing options...
oddemann Posted February 25, 2018 Author Share Posted February 25, 2018 (edited) 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! Edited February 26, 2018 by oddemann Quote Link to comment Share on other sites More sharing options...
oddemann Posted February 25, 2018 Author Share Posted February 25, 2018 (edited) 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! Edited February 26, 2018 by oddemann Quote Link to comment Share on other sites More sharing options...
oddemann Posted February 25, 2018 Author Share Posted February 25, 2018 (edited) Maze Skill area Coordination Level: 1,2,3 Level 1 Games "Maze" is a simple game that can be played by several children competing against each other or by one child trying to improve on his best score. In addition, it can be used to develop eye/hand coordination for young children. A simple maze is displayed on the screen. There is a star in the upper-left corner. The object of the game is to steer the star through the maze to the opening in the lower-right corner as quickly as possible. This is done with three of the arrow keys. The D key moves the star to the right, the E key moves the star up, and the X key moves the star down. There is never any need to move the star to the left, so the left arrow (the S key) has no effect. Likewise, none of the other keys have any effect on the movement of the star. There is a timer in the lower-right corner of the screen. The timer is started when the first key is struck, and it continues running until the star reaches the opening in the lower-right corner. The lower the number on the timer, the better the performance. At the completion of a round, the computer will ask if the player wishes to play again. The Y key resets the timer to zero and returns the star to the upper-left corner.The N key terminates the game. In order for this program to work, the ALPHA LOCK key must be in the down (on) position. The program can be easily modified so that it can be played using a joystick instead of the keys. Change the following lines: 380 CALL JOYST(l,X,Y) 90 IF (X=0)*(Y=0)THEN 380 410 CALL JOYST(l,X,Y) 420 IF (X=0)*(Y=-4)THEN 590 430 IF (X=4)*(Y=0)THEN 630 440 IF (X=0)*(Y=4)THEN 550 With joysticks, the ALPHA LOCK key must be up in order for the program to run. Maze 100 REM MAZE 110 REM 120 CALL CLEAR 130 RANDOMIZE 140 CALL SCREEN(16) 150 CALL COLOR(2,9,1) 160 CALL CHAR(128,"7E7E7E7E7E7E7E7E") 170 CALL CHAR(129,"FFFFFFFFFFFFFFFF") 180 CALL HCHAR(1,4,129,25) 190 CALL HCHAR(20,4,129,25) 200 CALL VCHAR(1,4,129,20) 210 CALL VCHAR(1,28,129,20) 220 FOR J=6 TO 26 STEP 2 230 CALL VCHAR(2,J,128,18) 240 R=INT(RND*18+2) 250 CALL HCHAR(R,J,32) 260 NEXT J 270 ROW=2 280 OLDROW=ROW 290 COL=5 300 OLDCOL=COL 310 CALL HCHAR(20,27,97) 320 CALL COLOR(9,1,1) 330 CALL HCHAR(ROW,COL,42) 340 SCORE1=0 350 SCORE2=0 360 SCORE3=0 370 CALL HCHAR(22,26,48+SCORE1) 380 CALL KEY(0,K,S) 390 IF S=0 THEN 380 400 REM LOOP BEGINS 410 CALL KEY(0,K,S) 420 IF (K=88)+(K=120)THEN 590 430 IF (K=68)+(K=100)THEN 630 440 IF (K=69)+(K=101)THEN 550 450 CALL GCHAR(ROW,COL,G) 460 IF (G=128)+(G=129)THEN 670 470 CALL HCHAR(OLDROW,OLDCOL,32) 480 CALL HCHAR(ROW,COL,42) 490 IF G=97 THEN 700 500 CALL SOUND(75,300,2) 510 SCORE1=SCORE1+1 520 IF SCORE1=10 THEN 880 530 CALL HCHAR(22,26,48+SCORE1) 540 GOTO 400 550 OLDROW=ROW 560 OLDCOL=COL 570 ROW=ROW-1 580 GOTO 450 590 OLDROW=ROW 600 OLDCOL=COL 610 ROW=ROW+1 620 GOTO 450 630 OLDCOL=COL 640 OLDROW=ROW 650 COL=COL+1 660 GOTO 450 670 ROW=OLDROW 680 COL=OLDCOL 690 GOTO 480 700 CALL HCHAR(22,5,65) 710 CALL HCHAR(22,6,71) 720 CALL HCHAR(22,7,65) 730 CALL HCHAR(22,8,73) 740 CALL HCHAR(22,9,78) 750 CALL HCHAR(22,11,40) 760 CALL HCHAR(22,12,89) 770 CALL HCHAR(22,14,79) 780 CALL HCHAR(22,15,82) 790 CALL HCHAR(22,17,78) 800 CALL HCHAR(22,18,41) 810 CALL KEY(0,K,S) 820 IF (K=89)+(K=121)THEN 850 830 IF (K=78)+(K=110)THEN 870 840 GOTO 810 850 CALL HCHAR(22,3,32,29) 860 GOTO 270 870 END 880 SCORE1=0 890 SCORE2=SCORE2+1 900 IF SCORE2=10 THEN 930 910 CALL HCHAR(22,25,48+SCORE2) 920 GOTO 530 930 SCORE2=0 940 SCORE3=SCORE3+1 950 CALL HCHAR(22,24,SCORE3+48) 960 GOTO 910 Should be fine! Edited February 26, 2018 by oddemann Quote Link to comment Share on other sites More sharing options...
LASooner Posted February 25, 2018 Share Posted February 25, 2018 You should use the code tags for all the basic listings, this will help avoid emojis showing up in the code Quote Link to comment Share on other sites More sharing options...
oddemann Posted February 25, 2018 Author Share Posted February 25, 2018 (edited) You should use the code tags for all the basic listings, this will help avoid emojis showing up in the code Will try it next time! If you read it NOW, it is fixed! But I did not know this until pointed out by LaSooner, so thx! Edited February 26, 2018 by oddemann Quote Link to comment Share on other sites More sharing options...
oddemann Posted February 25, 2018 Author Share Posted February 25, 2018 (edited) 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!!! Edited February 26, 2018 by oddemann Quote Link to comment Share on other sites More sharing options...
oddemann Posted February 25, 2018 Author Share Posted February 25, 2018 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!!! Quote Link to comment Share on other sites More sharing options...
oddemann Posted February 25, 2018 Author Share Posted February 25, 2018 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! Quote Link to comment Share on other sites More sharing options...
oddemann Posted February 26, 2018 Author Share Posted February 26, 2018 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? Quote Link to comment Share on other sites More sharing options...
oddemann Posted February 26, 2018 Author Share Posted February 26, 2018 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 100 REM MAZE RACE 110 REM 120 CALL CLEAR 130 RANDOMIZE 140 DIM A(2),R(2),C(2),OLDR(2),OLDC(2),L(2),UP(2) 150 FOR N=1 TO 2 160 PRINT "ENTER CHARACTER OF PLAYER";N: 170 INPUT A$ 180 IF LEN(A$)=1 THEN 210 190 PRINT "TRY AGAIN." 200 GOTO 160 210 A(N)=ASC(A$) 220 PRINT 230 L(N)=0 240 NEXT N 250 INPUT "NUMBER OF LAPS (1 TO 9)? ":LAPS 260 IF LAPS>9 THEN 250 270 CALL CHAR(128,"FFFFFFFFFFFFFFFF") 280 CALL CLEAR 290 FOR N=1 TO 23 STEP 2 300 CALL HCHAR(N,3,128,28) 310 X=INT(RND*12+1) 320 CALL HCHAR(N,3+X,32) 330 CALL HCHAR(N,17+X,32) 340 NEXT N 350 CALL VCHAR(1,3,128,23) 360 CALL VCHAR(1,16,128,23) 370 CALL VCHAR(1,17,128,23) 380 CALL VCHAR(1,30,128,23) 390 C(1)=3+X 400 C(2)=17+X 410 FOR N=1 TO 2 420 R(N)=23 430 CALL HCHAR(R(N),C(N),A(N)) 440 NEXT N 450 Z=INT(RND*2)+1 460 IF Z=2 THEN 580 470 N=1 480 OLDR(N)=R(N) 490 OLDC(N)=C(N) 500 CALL KEY(1,K,S) 510 K=K+1 520 IF (K=6)*(R(N)>1)THEN 690 530 IF K=3 THEN 720 540 IF K=4 THEN 750 550 IF (K=1)*(R(N)<23)THEN 780 560 GOTO 580 570 GOSUB 810 580 N=2 590 OLDR(N)=R(N) 600 OLDC(N)=C(N) 610 CALL KEY(2,K,S) 620 IF (K=6)*(R(N)>1)THEN 690 630 IF K=3 THEN 720 640 IF K=12 THEN 750 650 IF (K=14)*(R(N)<23)THEN 780 660 GOTO 470 670 GOSUB 810 680 GOTO 470 690 R(N)=R(N)-1 700 IF N=1 THEN 570 710 IF N=2 THEN 670 720 C(N)=C(N)-1 730 IF N=1 THEN 570 740 IF N=2 THEN 670 750 C(N)=C(N)+1 760 IF N=1 THEN 570 770 IF N=2 THEN 670 780 R(N)=R(N)+1 790 IF N=1 THEN 570 800 IF N=2 THEN 670 810 CALL GCHAR(R(N),C(N),G) 820 IF G=32 THEN 860 830 R(N)=OLDR(N) 840 C(N)=OLDC(N) 850 GOTO 900 860 CALL HCHAR(OLDR(N),OLDC(N), 32) 870 CALL HCHAR(R(N),C(N),A(N)) 880 CALL SOUND(50,300,3) 890 IF (R(N)=1)+(R(N)=23)THEN 910 900 RETURN 910 IF UP(N)=R(N)THEN 960 920 L(N)=L(N)+1 930 CALL HCHAR(24,11*N,L(N)+48) 940 IF L(N)=LAPS THEN 970 950 UP(N)=R(N) 960 RETURN 970 D=100 980 FOR N=1 TO 20 990 CALL SOUND(100,250+D,3) 1000 D=-D 1010 NEXT N 1020 CALL CLEAR 1030 PRINT "DO YOU WANT TO PLAY AGAIN? (Y OR N)":::::::: 1040 CALL KEY(0,K,S) 1050 IF (K=78)+(K=110)THEN 1080 1060 IF (K=89)+(K=121)THEN 280 1070 GOTO 1040 1080 END Everything is OK until you want to exit game... Y N do not work! Quote Link to comment Share on other sites More sharing options...
oddemann Posted February 26, 2018 Author Share Posted February 26, 2018 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!!! Quote Link to comment Share on other sites More sharing options...
oddemann Posted February 26, 2018 Author Share Posted February 26, 2018 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!!! Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted February 26, 2018 Share Posted February 26, 2018 Maze Race Skill area Coordination Level: 2,3 <snip> Everything is OK until you want to exit game... Y N do not work! These programs were written for TI Basic (TIB). I am betting you are running them in Extended Basic (XB). There may be other problems, but one for sure that will trip you up in XB is a PRINT statement ending with more than one ‘:’ with no intervening spaces. This is not a problem in TIB because, with only one statement allowed per line, each ‘:’ is assumed to be for starting a new print line. In XB, however, multiple lines per statement are allowed. If you do not have any intervening spaces, XB will assume multi-statement separators were intended and insert a space after each pair of colons. When such a statement is executed, XB will hang because there are no actual statements after the “separators”. ...lee Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted February 26, 2018 Share Posted February 26, 2018 Number Concepts Skill area: Mathematics LeveL 1,2 <snip> First bug 300, do not get it. What is the bug here? Once again, it looks like you are using XB for programs designed to run in TIB. Here, the problem is that lines 300 – 380 (and, likely, others) reference character numbers higher than 143, which are available in TIB, but not in XB. BTW, there are several typos scattered throughout the program. ...lee Quote Link to comment Share on other sites More sharing options...
sometimes99er Posted February 26, 2018 Share Posted February 26, 2018 http://www.hexbus.com/tibooks/ 1 Quote Link to comment Share on other sites More sharing options...
oddemann Posted February 26, 2018 Author Share Posted February 26, 2018 Once again, it looks like you are using XB for programs designed to run in TIB. Here, the problem is that lines 300 – 380 (and, likely, others) reference character numbers higher than 143, which are available in TIB, but not in XB. BTW, there are several typos scattered throughout the program. ...lee Nooooo I do not use XB on TIB prog would NEVER do that (I was thinking that, this could have something to do with it, bad habit I have from before, "If not sure, use XB", so now all progs are XB) hehehe The typos... When I copy from PDF it sometimes think I is 1 and 1 is l, and it also adds stuff from the side of the page, where the "hole" in the page is. And sometimes if takes stuff out or add strange things. Also sometimes ; is 7. So I have to look at the ones not working! But is getting better at predicting where the "typos" will appear when copying over to notepad. Quote Link to comment Share on other sites More sharing options...
oddemann Posted February 26, 2018 Author Share Posted February 26, 2018 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? Quote Link to comment Share on other sites More sharing options...
oddemann Posted February 26, 2018 Author Share Posted February 26, 2018 (edited) Crossout Skill area: Strategy Level 2,3 "Crossout" is a variation of an old game played with match sticks. A number oflines are displayed on the screen, and the two players (in this case, you and the computer) take turns crossing out lines. On any turn, you can cross out one, two, or three lines. The player who crosses out the last line loses. The game starts by asking how many sticks should be in the game. This can be any number between 21 and 28. Then you must decide who will take the first turn, you or the computer. If the computer plays first, the words COMPUTER'S TURN will be displayed, and then either 1, 2, or 3 lines will be crossed out. Then the words YOUR TURN will be displayed. You must enter either a 1, 2, or 3 indicating the number of lines you wish to cross out. That number of lines will be crossed out, and then it is the computer's turn again. The player who crosses out the last line loses the game. The remarkable thing about Crossout is that the computer will almost always win regardless of whether it plays first or second. This is an interesting strategy game for children ages eight or older. Of course, there isa strategy for winning. Try to figure it out. Crossout 100 REM CROSSOUT 110 REM 120 RANDOMIZE 130 CALL CHAR(128,"0101010101010101") 140 CALL CHAR(129,"8080808080808080") 150 CALL CHAR(130,"01016131190D0703") 160 CALL CHAR(131,"80C0E0B0988C8680") 170 CALL CLEAR 180 PRINT "HOW MANY STICKS DO YOU WANT TO PLAY WITH (21-28)?" 190 INPUT STICKS 200 IF (STICKS>20)*(STICKS<29)THEN 230 210 PRINT :"TRY AGAIN":: 220 GOTO 190 230 PRINT ::"IF YOU WANT TO START ENTER" 240 PRINT "1, IF YOU WANT COMPUTER TO" 250 PRINT "START, ENTER 2" 260 INPUT START 270 IF (START=1)+(START=2)THEN 300 280 PRINT :"TRY AGAIN" 290 GOTO 260 300 CALL CLEAR 310 FOR K=5 TO 13 STEP 4 320 FOR J=6 TO 24 STEP 3 330 CALL VCHAR(K,J,128,2) 340 CALL VCHAR(K,J+1,129,2) 350 NEXT J 360 NEXT K 370 IF STICKS=21 THEN 420 380 FOR J=1 TO STICKS-21 390 CALL VCHAR(17,3+3*J,128,2) 400 CALL VCHAR(17,4+3*J,129,2) 410 NEXT J 420 J=6 430 K=5 440 COUNT=STICKS 450 IF START=2 THEN 600 460 M$="YOUR TURN" 470 GOSUB 1010 480 CALL KEY(0,L,S) 490 IF (L=49)+(L=50)+(L=51)THEN 510 500 GOTO 480 510 CALL HCHAR(21,5,32,12) 520 FOR M=1 TO L-48 530 CALL HCHAR(K,J,130) 540 CALL HCHAR(K+1,J+1,131) 550 COUNT=COUNT-1 560 IF COUNT=0 THEN 930 570 J=J+3 580 IF J>24 THEN 870 590 NEXT M 600 M$="COMPUTER'S TURN" 610 GOSUB 1010 620 FOR I=1 TO 300 630 NEXT I 640 IF COUNT>20 THEN 1060 650 ON COUNT GOTO 820,760,780,800,760,760,780,800,760,760,780,800,1060,760,780,800,1060,760,780,800 660 CALL HCHAR(21,5,12,32) 670 FOR M=1 TO L 680 CALL HCHAR(K,J,130) 690 CALL HCHAR(K+1,J+1,131) 700 COUNT=COUNT-1 710 IF COUNT=0 THEN 820 720 J=J+3 730 IF J>24 THEN 900 740 NEXT M 750 GOTO 460 760 L=1 770 GOTO 660 780 L=2 790 GOTO 660 800 L=3 810 GOTO 660 820 PRINT "YOU WIN" 830 FOR F=1 TO 9 840 CALL SOUND(50,120+100*F,3) 850 NEXT F 860 GOTO 940 870 J=6 880 K=K+4 890 GOTO 590 900 J=6 910 K=K+4 920 GOTO 740 930 PRINT "YOU LOSE" 940 PRINT "DO YOU WANT TO PLAY AGAIN" 950 PRINT " (Y OR N)" 960 CALL KEY(0,L,S) 970 IF (L=89)+(L=121)THEN 170 980 IF (L=78)+(L=110)THEN 1000 990 GOTO 960 1000 END 1010 FOR X=1 TO LEN(M$) 1020 S$=SEG$(M$,X,1) 1030 CALL HCHAR(21,4+X,ASC(S$)) 1040 NEXT X 1050 RETURN 1060 L=INT(RND*3+1) 1070 GOTO 660 Works OK after debugging l and 1 Edited February 26, 2018 by oddemann Quote Link to comment Share on other sites More sharing options...
oddemann Posted February 26, 2018 Author Share Posted February 26, 2018 (edited) 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! Edited February 26, 2018 by oddemann 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.