5 REM ���Ӡ�����͠���̠��Ԡ��Π�Π�����ή��ԧӠ��Ԡ�Ơ�����ҭ��Ԡ�����Ӡ�����Ġ�����Χ��Π��֮����ՠ��®����� 10 REM **************************** 20 REM * * 30 REM * ODD MAN OUT * 40 REM * BY * 50 REM * JOHN AND MARY HARRISON * 60 REM * * 70 REM * FOR * 80 REM * ANTIC MAGAZINE * 90 REM * * 95 REM **************************** 140 DIM ANM$(104),NAME$(20),PMPY$(48),FRAME$(12),ERASE$(12),DISP$(20) 180 AF=77 320 FRAMES=4:FRMSZE=10:POKE AF,0 560 FOR I=1 TO 104:READ X:ANM$(I,I)=CHR$(X):NEXT I 880 GRAPHICS 17:SETCOLOR 4,2,8:SETCOLOR 0,0,14 900 ? #6:? #6;"EVERYDAY OBJECTS":? #6 920 ? #6;"SIMPLE SHAPES":? #6 940 ? #6;"E AND [":? #6 960 ? #6;"CAPITAL LETTERS":? #6 980 ? #6;"SMALL LETTERS":? #6 1000 ? #6;"DIGITS":? #6 1020 ? #6;"THREE DIGITS":? #6 1040 ? #6;"EXIT" 1060 POSITION 18,1:? #6;"<" 1080 CHOICE=1 1100 POKE AF,0:JOY=STICK(0):POS=0 1120 POS=(JOY=9 OR JOY=13 OR JOY=5)+2*(JOY=10 OR JOY=14 OR JOY=6)+1 1140 ON POS GOTO 1300,1160,1220 1160 POSITION 18,CHOICE*2-1:? #6;" " 1180 CHOICE=(CHOICE=8)*1+(CHOICE<8)*(CHOICE+1) 1200 POSITION 18,CHOICE*2-1:? #6;"<":SETCOLOR 4,CHOICE*2,8:GOTO 1280 1220 POSITION 18,CHOICE*2-1:? #6;" " 1240 CHOICE=(CHOICE=1)*8+(CHOICE>1)*(CHOICE-1) 1260 POSITION 18,CHOICE*2-1:? #6;"<":SETCOLOR 4,CHOICE*2,8 1280 FOR DEL=1 TO 100:NEXT DEL 1300 IF STRIG(0)<>0 THEN 1100 1320 RAM$=ROM$:RAM$(25,128)=ANM$(1,104) 1340 RAM$(473,488)=BOX$ 1380 PMPY$="#$%&'()*%+,-" 1400 PMPY$(21)="#$%&'(#./+,-" 1420 ERASE$=" " 1440 ON CHOICE GOTO 1480,1500,1520,1960,1940,2240,2240,4140 1500 RAM$(145,208)=GEO$(1,64):RAM$(257,448)=GEO$(65,256):GOTO 1540 1520 RAM$(145,208)=E$(1,64):RAM$(257,448)=E$(65,256) 1640 WRONG=0 1660 FOR LOOP=1 TO 10 1680 SAME=INT(8*RND(0)) 1700 DIFF=INT(8*RND(0)):IF DIFF=SAME THEN 1700 1720 ODD=INT(4*RND(0)) 1740 FOR I=0 TO 3:P=(I=ODD)*DIFF+(I<>ODD)*SAME 1760 P=INDEX(P)+32 1780 POSITION I*4+3,5:? #6;CHR$(P);CHR$(P+1) 1800 POSITION I*4+3,6:? #6;CHR$(P+2);CHR$(P+3):POSITION I*4+3,8:? #6;"[":NEXT I 1820 GOSUB 2500:REM JUMP TO INPUT ROUTINE 1840 NEXT LOOP 1860 GOTO 3100 1880 REM SET UP FOR LEVELS IV, V 1940 RAM$(265,472)=RAM$(777,984) 1960 GRAPHICS 2:POKE 756,GRTOP 1980 FOR I=0 TO 3:SETCOLOR I,0,14:NEXT I:SETCOLOR 4,CHOICE*2,8 2000 SETCOLOR 2,CHOICE*2,8 2020 REM POKE 16,112:POKE 53774,112 2040 WRONG=0 2060 FOR LOOP=1 TO 10:SAME=INT(26*RND(0)) 2080 DIFF=INT(26*RND(0)):IF SAME=DIFF THEN 2080 2100 ODD=INT(4*RND(0)) 2120 FOR I=0 TO 3:P=(I=ODD)*DIFF+(I<>ODD)*SAME+65 2140 POSITION I*4+3,6:? #6;CHR$(P):POSITION I*4+3,8:? #6;"[":NEXT I 2160 GOSUB 2500:REM JUMP TO INPUT ROUTINE 2180 NEXT LOOP 2200 GOTO 3100 2220 REM SET UP FOR LEVELS VI, VII 2240 GRAPHICS 2:POKE 756,GRTOP:GOTO 2260 2260 FOR I=0 TO 3:SETCOLOR I,0,14:NEXT I:SETCOLOR 4,CHOICE*2,8 2280 SETCOLOR 2,CHOICE*2,8 2300 REM POKE 16,112:POKE 53774,112 2320 WRONG=0:M=10:N=0:IF CHOICE=7 THEN M=900:N=100 2340 FOR LOOP=1 TO 10:SAME=INT(M*RND(0))+N 2360 DIFF=INT(M*RND(0))+N:IF SAME=DIFF THEN 2360 2380 ODD=INT(4*RND(0)) 2400 FOR I=0 TO 3:P=(I=ODD)*DIFF+(I<>ODD)*SAME 2420 POSITION I*4+3,6:? #6;P:POSITION I*4+3+(CHOICE=7),8:? #6;"[":NEXT I 2440 GOSUB 2500:REM JUMP TO INPUT ROUTINE 2460 NEXT LOOP 2480 GOTO 3100 2500 REM JOYSTICK MOVE AND INPUT ROUTINE 2520 POKE 752,1:FLAG=0 2540 POS=3:POKE 656,0:POKE 657,POS+1 2560 ? PMPY$(1,10) 2580 JOY=STICK(0):POKE AF,0 2600 IF JOY>7 THEN 2660:REM JOYSTICK RIGHT ROUTINE 2620 POS=POS+1:IF POS>34 THEN ? "}":POS=3 2640 GOTO 2700 2660 IF JOY>11 THEN 2800:REM JOYSTICK LEFT ROUTINE 2680 POS=POS-1:IF POS<4 THEN ? "}":POS=34 2700 FOR I=1 TO FRAMES:FRAME$=PMPY$(I*FRMSZE-(FRMSZE-1),I*FRMSZE) 2720 POKE 656,2:POKE 657,POS:? ERASE$;FRAME$;ERASE$; 2740 IF I/2<>INT(I/2) THEN SOUND 1,4,0,14 2760 IF I/2=INT(I/2) THEN SOUND 1,4,16,14 2780 SOUND 1,0,0,0:NEXT I 2800 IF STRIG(0)=1 THEN 2580 2820 RE=(POS-5-(CHOICE=7)*2)/8:LE=(POS-4-(CHOICE=7)*2)/8 2840 IF RE<>INT(RE) AND LE<>INT(LE) THEN 2580 2860 RETURN 4180 DATA 0,8,24,124,252,255,31,31 4200 DATA 0,0,0,0,0,129,255,255 4220 DATA 0,16,24,62,63,255,248,248 4240 DATA 31,15,7,3,3,3,3,3 4260 DATA 255,255,129,0,0,0,0,0 4280 DATA 248,240,224,192,192,192,192,192 4300 DATA 8,60,124,252,28,28,31,31 4320 DATA 0,0,0,0,0,0,255,255 4340 DATA 31,15,7,7,13,24,48,48 4360 DATA 255,255,129,0,129,195,102,102 4380 DATA 248,240,224,224,176,24,12,12 4400 DATA 0,0,0,0,0,128,255,255 4420 DATA 16,60,62,63,56,56,248,248
Back to previous page