Jump to content
IGNORED

Book : TI games for kids!


oddemann

Recommended Posts

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 by oddemann
  • Like 1
Link to comment
Share on other sites

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 by oddemann
  • Like 2
Link to comment
Share on other sites

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 by oddemann
Link to comment
Share on other sites

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 by oddemann
Link to comment
Share on other sites

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 by oddemann
Link to comment
Share on other sites

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 by oddemann
Link to comment
Share on other sites

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 by oddemann
Link to comment
Share on other sites

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 by oddemann
Link to comment
Share on other sites

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!!!
Link to comment
Share on other sites

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!
Link to comment
Share on other sites

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?
Link to comment
Share on other sites

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!
Link to comment
Share on other sites

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!!!

Link to comment
Share on other sites

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!!!

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

 

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 :P on TIB :P prog :P would NEVER do that :P

(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.

Link to comment
Share on other sites

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?
Link to comment
Share on other sites

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 :P

Edited by oddemann
Link to comment
Share on other sites

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 by oddemann
Link to comment
Share on other sites

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

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

×   Your previous content has been restored.   Clear editor

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

Loading...
  • Recently Browsing   0 members

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