10 REM *ODDEVEN* 20 REM WRITTEN BY BARRY KLEIN 30 REM COPYRIGHT 1977, 1978, 1983 40 L=3 50 REM 'L' IS THE NUMBER OF DIGITS - 3 TO 5 60 M = INT(12.5*(L-1)) 70 REM 'M' IS MAXIMUM NUMBER OF GUESSES 80 CLS 90 PRINT TAB(10);"ODDEVEN" 100 FOR I=1 TO 10 110 PRINT 120 NEXT I 130 PRINT TAB(6);"A GAME OF LOGIC" 140 FOR I=1 TO 10 150 PRINT 160 NEXT I 170 PRINT "DO YOU WANT INSTRUCTIONS" 180 INPUT A$ 190 IF LEFT$(A$,1)="Y" THEN GOSUB 9010 200 DIM D(L) 210 DIM X(L) 220 GOSUB 3010 230 PLOT T-1,22,S 240 GOSUB 1560 300 REM JOYSTICK INPUT 310 IF JOY(1)>0 THEN GOSUB 510 320 IF JOY(3)>0 THEN GOSUB 1010 330 IF S>=0 THEN 310 340 IF JOY(3)=0 THEN 340 350 RESTORE 360 GOSUB 3510 370 GOTO 230 500 REM MOVE POINTER 510 PLOT A,24,32 520 IF JOY(1)=1 THEN A=E 530 IF JOY(1)=3 THEN A=A+1 540 IF JOY(1)=5 THEN A=G 550 IF JOY(1)=7 THEN A=A-1 560 IF D=0 AND A=(E+1) THEN A=G 570 IF D=0 AND A < G THEN A=E 580 IF AT THEN A=T 620 IF A=(T-1) THEN A=G 630 IF A=(G-1) THEN A=N 640 PLOT A,24,94 650 SOUND A;1 660 RETURN 1000 REM ACCEPT ENTRY 1010 IF S<0 THEN 1210 1020 IF A=E THEN 1310 1030 IF A=G THEN 1410 1040 IF A=T THEN 1910 1050 IF D=L THEN 1090 1060 FOR I=D TO L-1 1070 D(I) = D(I+1) 1080 NEXT I 1090 D(L)=A-Z 1100 FOR I=D TO L 1110 PLOT P+I,Q,D(I)+48 1120 NEXT I 1130 SOUND 21;3,16;3,9;3 1140 D=D-1 1150 IF D>0 THEN 1210 1160 PLOT A,24,32 1170 A=G 1180 PLOT A,24,94 1190 SOUND A;1 1200 REM WAIT 'TILL BUTTON RELEASED 1210 IF JOY(3)>0 THEN 1210 1220 RETURN 1300 REM 'ERASE' 1310 FOR I=1 TO L 1320 D(I)=0 1330 PLOT P+I,Q,32 1340 NEXT I 1350 GOTO 1590 1400 REM 'GUESS' 1410 X=0 1420 FOR I=1 TO L 1430 IF D(I)=X(I) THEN X=X+1 1440 NEXT I 1450 X=X-2*INT(X/2) 1460 IF X=0 THEN 1520 1470 IF D=L THEN D=D+1 1480 FOR I=D+1 TO L 1490 PLOT P+I,Q D(I) 1500 NEXT I 1510 SOUND 28;3,23;3,16;3,30;3,25;3,18;3 1520 IF J>=M THEN 1710 1530 FOR I=1 TO L 1540 D(I)=0 1550 NEXT I 1560 J=J+1 1570 X=J-1-*INT(J/10) 1580 IF INT(J/10)>0 THEN PLOT G-2,22,J/10 1590 PLOT G-1,22,X 1600 PLOT A.24,32 1610 D=L 1620 P=INT((J-1)/5) 1630 Q=13+2*(P-L) 1640 P=(J-P*5-1)*6+2 1650 PLOT P+L,Q,48 1660 SOUND 26;3,21;3,14;3 1670 A=Z+5 1680 GOTO 1180 1700 REM LOSING ROUTINE 1710 PRINT 1720 PRINT "YOU LOSE! "; 1730 SOUND 2;5 1740 SOUND 2;1,1;1,1;1,3;1 1760 SOUND 2;3 1770 SOUND 1;1 1790 PRINT "THE NUMBER WAS "; 1800 FOR I=1 TO L 1810 PRINT CHR$(X(I)); 1820 NEXT I 1830 IF JOY(3)>0 THEN 1830 1840 S=-1 1850 GOTO 1210 1900 REM 'TEST' 1910 X=0 1920 FOR I=1 TO L 1930 IF X(I)=D(I) THEN X=X+1 1940 NEXT I 1950 S=S+1 1960 PLOT T-1,22,S 1970 IF X<>L AND S<3 THEN 1450 1980 IF X<>L THEN 1710 2000 REM WINNING ROUTINE 2010 PRINT 2020 PRINT "YOU GOT IT "; 2030 S=-1 2040 SOUND 26;3 2050 SOUND 21;2 2060 SOUND 21;0 2070 SOUND 23;3 2080 SOUND 21;3 2090 SOUND 1;3 2100 SOUND 9;3,19;3,25;3 2110 SOUND 2;3,18;3,26;3 2120 PRINT "IN ";J;" TURNS!"; 2130 GOTO 1830 3000 REM SETUP CHARACTERS 3010 CHAR 0,003C62666A72623C 3020 CHAR 1,001838181818183C 3030 CHAR 2,003C62020618607E 3040 CHAR 3,003C46060C06463C 3050 CHAR 4,000C1C34647E0404 3060 CHAR 5,007E607C0202623C 3070 CHAR 6,001E30607C62623C 3080 CHAR 7,0073060C18303030 3090 CHAR 8,003C62623C62623C 3100 CHAR 9,003C62623E020478 3110 CHAR 10,003C62626262623C 3120 CHAR 11,0078646262626478 3130 REM SETUP CONSTANTS 3140 E=5 3150 G=22 3160 T=27 3170 Z=9 3180 N=Z+9 3190 A=1 3220 DATA 10,11,11,69,86,69,78 3230 DATA 69,82,65,83,69 3240 DATA 71,85,69,83,83 3250 DATA 84,69,63,84 3500 REM SET UP GAME AREA 3510 CLS 3515 COLOR 0,16 3520 COLOR 1,10,1 3525 COLOR 2,10,1 3530 FOR I=13 TO 19 3540 READ C 3550 PLOT I,1,C 3560 NEXT I 3580 FOR I=E-2 TO E+2 3590 READ C 3600 PLOT I,23,C 3610 NEXT I 3620 PLOT E,22,L+48 3630 FOR I=G-2 TO G+2 3640 READ C 3650 PLOT I,23,C 3660 NEXT I 3680 FOR I=T-1 TO T+2 3690 READ C 3700 PLOT I,23,C 3710 NEXT I 3720 FOR I=0 TO N-Z 3730 PLOT Z+I,23,I 3740 NEXT I 3800 REM SET UP VARIABLES 3810 J=0 3820 S=0 3830 D=L 3840 X=RND(10**L)-1 3850 FOR I=L TO J STEP -1 3860 D(I)=0 3870 X(I)=M-10*INT(M/10) 3880 X=X-10**(I-1)*X(I) 3890 NEXT I 3900 PLOT T+2,22,51 3910 X=M-10*INT(M/10) 3920 PLOT G+1,22,M/10+48 3930 PLOT G+2,22,X+48 3940 RETURN 9000 REM INSTRUCTIONS 9010 CLS 9020 PRINT TAB(10);"ODDEVEN" 9030 PRINT 9040 PRINT 9050 PRINT"THE WIZZARD WILL CHOOSE A" 9060 PRINT 9070 PRINT"NUMBER BETWEEN 0 AND ";(10**L-1);"." 9080 PRINT 9090 PRINT"YOU USE THE LEFT JOYSTICK TO" 9100 PRINT 9110 PRINT"MAKE YOUR CHOICE. MOVE IT" 9120 PRINT 9130 PRINT"LEFT OR RIGHT TO MOVE THE" 9140 PRINT 9150 PRINT"POINTER. DOWN MOVES TO ERASE" 9160 PRINT 9170 PRINT"UP MOVES TO GUESS," 9180 PRINT 9190 PRINT"USE FIRE BUTTON TO INPUT." 9200 PRINT 9210 PRINT"PUSH 'RETURN' TO CONTINUE" 9220 INPUT A$ 9230 CLS 9240 PRINT"YOU WILL BE TOLD HOW MANY" 9250 PRINT 9260 PRINT"DIGITS ARE CORRECT IN BOTH" 9270 PRINT 9280 PRINT"VALUE AND POSITION: -" 9290 PRINT 9300 PRINT"GREEN (EVEN) 0 OR 2"; 9310 IF L>3 THEN PRINT " OR 4"; 9320 PRINT"," 9330 PRINT 9340 PRINT"RED (ODD) 1 OR 3"; 9350 IF L>4 THEN PRINT " OR 5"; 9360 PRINT"." 9370 PRINT 9380 PRINT"A 'GUESS' WILL ONLY GIVE" 9390 PRINT 9400 PRINT"'ODD' OR 'EVEN'. YOU MUST" 9410 PRINT 9420 PRINT"'TEST' YOUR CHOICE TO SEE" 9430 PRINT 9440 PRINT"IF YOU ARE RIGHT! YOU GET" 9450 PRINT 9460 PRINT M;" GUESSES, BUT ONLY 3 TESTS." 9490 PRINT 9500 PRINT"GOOD LUCK!" 9510 PRINT 9520 PRINT"PUSH 'RETURN' TO CONTINUE" 9530 INPUT A$ 9540 RETURN