------------------------------------------------- 25) program 427 bytes SLOT 25 100 DIM A(63) 110 FOR I=1 TO 63 120 LET A(I)=128*(RND(2)-1) 130 NEXT I 200 FOR L=0 TO 8 210 FOR J=1 TO 7 220 LET I=J+7*L 230 PRINT CHR$(A(I)); 240 NEXT J 250 PRINT 260 NEXT L 270 PRINT "PRESS N/L" 280 INPUT A$ 285 IF NOT A$="" THEN STOP 290 CLS 300 FOR I=9 TO 55 310 LET X=0 320 IF ((I+1) AND 7)=0 THEN GO TO 350 330 LET X=(A(I+1)>127) 340 IF ((I-1) AND 7)=0 THEN GO TO 360 350 LET X=X+(A(I-1)>127) 360 FOR J=7 TO 9 370 FOR R=-1 TO 1 380 IF R=0 THEN GO TO 420 390 LET K=I+R*J 400 IF (K AND 7)=0 THEN GO TO 420 410 LET X=X+(A(K)>127) 420 NEXT R 430 NEXT J 440 LET A(I)=A(I)-X 450 NEXT I 460 FOR I=9 TO 55 470 IF A(I)=3 OR A(I)=130 OR A(I)=131 THEN GO TO 500 480 LET A(I)=0 490 GO TO 510 500 LET A(I)=128 510 NEXT I 520 GO TO 200 ------------------------------------------------- 26) program 134 bytes SLOT 26 100 DIM A(75) 110 LET R=1 120 LET A(1)=2 130 FOR X=3 TO 300 140 FOR Y=1 TO R 150 IF X/A(R)>A(R) THEN GO TO 180 160 IF X=(X/A(Y))*A(Y) THEN GO TO 210 170 NEXT Y 180 LET R=R+1 190 LET A(R)=X 200 PRINT X, 210 LET X=X+1 220 NEXT X ------------------------------------------------- 27) program 466 bytes SLOT 27 100 DIM X(6) 110 DIM A(2) 120 PRINT "SOLUTIONS TO 2 EQUATIONS:" 130 PRINT "A*X + B*Y + C = 0" 140 PRINT 150 PRINT "ENTER DATA" 160 FOR I=1 TO 6 170 PRINT CHR$(37+I-((I-1)/3)*3), 180 INPUT X(I) 190 PRINT X(I) 200 NEXT I 300 LET D=X(1)*X(5)-X(2)*X(4) 310 IF D=0 THEN GO TO 900 320 LET A(1)=X(3)*X(5)-X(2)*X(6) 330 LET A(2)=-X(3)*X(4)+X(1)*X(6) 340 PRINT 350 PRINT "SOLUTIONS ARE" 360 LET D=-D 370 LET S=D/ABS(D) 400 FOR I=1 TO 2 410 LET B=ABS(D) 420 LET A=ABS(A(I)) 500 LET Q=A/B 510 LET R=A-Q*B 520 LET A=B 530 LET B=R 540 IF R>0 THEN GO TO 500 550 LET GCD=A 600 PRINT S*A(I)/GCD; 610 IF NOT D/GCD=S THEN PRINT "/";ABS(D/GCD) 620 PRINT , 630 NEXT I 640 STOP 900 PRINT "- DEGENERATE: NO SOLUTIONS" ------------------------------------------------- 28) program 548 bytes SLOT 28 100 PRINT "INPUT NUMBER" 110 INPUT A 120 CLS 130 PRINT "SQUARE ROOT OF ";A;" IS" 140 LET U=174 150 LET L=0 160 LET FRAC=0 170 LET DELTA=0 200 LET NEW=(U+L)/2 210 IF (NEW-1)**2A THEN GO TO 250 220 IF NEW**2>A THEN LET U=NEW 230 IF NEW**2A THEN LET NEW=NEW-1 300 LET ERROR=100*(A-NEW**2) 310 IF ERROR<2 THEN GO TO 470 320 LET FRAC=(ERROR/NEW)/2 330 LET FSQ=FRAC**2 340 LET ERROR=ERROR-2*NEW*FRAC 350 IF ERROR>0 THEN GO TO 390 360 LET FRAC=FRAC-1 370 LET ERROR=100*(A-NEW**2) 380 GO TO 330 390 LET ERROR=10*ERROR-FSQ/10 400 IF ERROR<0 THEN GO TO 360 410 LET DELTA=(ERROR/NEW)/2 420 LET EDASH=ERROR-(2*FRAC*DELTA)/2 430 IF EDASH>0 THEN GO TO 460 440 LET DELTA=DELTA-1 450 GO TO 420 460 LET DELTA=(EDASH/NEW)/2 470 PRINT NEW;".";FRAC;DELTA ------------------------------------------------- 29) program 512 bytes SLOT 29 100 DIM N(2) 110 DIM V(9) 120 RANDOMISE 130 FOR I=1 TO 2 140 LET N(I)=1 150 LET V(5*I-5)=RND(13) 160 NEXT I 170 LET I=1 200 LET P=I 210 FOR L=1 TO 7 220 FOR C=1 TO N(P) 230 LET J=C-6+5*P 240 IF L=1 OR L=7 THEN GO TO 420 250 IF L=4 THEN GO TO 270 260 GO TO 440 270 PRINT " \A "; 280 IF V(J)<2 OR V(J)>10 THEN GO TO 330 290 PRINT V(J); 300 IF V(J)<10 THEN PRINT " "; 310 PRINT "\A"; 320 GO TO 450 330 LET A$=" AJQK" 340 LET M=V(J) 350 IF M>10 THEN LET M=M-9 360 FOR K=1 TO M-1 370 LET A$=TL$(A$) 380 NEXT K 390 PRINT CHR$(CODE(A$)); 400 PRINT " \A"; 410 GO TO 450 420 PRINT " \A\A\A\A\A"; 430 GO TO 450 440 PRINT " \A \A"; 450 NEXT C 460 PRINT 470 NEXT L 480 PRINT 490 PRINT 600 PRINT "PLAYER";I;":HIT OR STAY?" 610 INPUT A$ 620 CLS 630 IF CODE(A$)=56 THEN GO TO 670 640 LET N(I)=N(I)+1 650 LET V(N(I)-6+5*I)=RND(13) 660 GO TO 200 670 IF I=2 THEN STOP 680 LET I=I+1 690 GO TO 200 ------------------------------------------------- 30) program 436 bytes SLOT 30 100 DIM A(48) 110 FOR I=0 TO 48 120 LET A(I)=6 130 NEXT I 140 LET A(0)=53 150 PRINT "HOW MANY PLAYERS?" 160 INPUT N 170 LET T=0 200 LET T=T+1 210 FOR L=0 TO 6 220 LET J=7-L 230 PRINT J, 240 FOR C=0 TO 6 250 PRINT CHR$(A(C+7*L)); 260 NEXT C 270 PRINT 280 NEXT L 290 PRINT , 300 FOR C=1 TO 7 310 PRINT C; 320 NEXT C 330 PRINT 340 PRINT "PLAYER:";T 410 PRINT "INPUT COORD" 420 INPUT A 430 IF A=0 THEN GO TO 999 440 LET J=A/10 450 LET C=A-10*J-1 460 LET L=7-J 470 LET P=C+7*L 480 IF P<0 OR P>48 THEN GO TO 420 490 IF A(P)>0 THEN GO TO 600 500 PRINT "EMPTY SPACE" 510 GO TO 410 600 IF P=0 THEN GO TO 700 610 FOR J=L TO 6 620 FOR I=C TO 6 630 LET A(I+7*J)=0 640 NEXT I 650 NEXT J 660 CLS 670 IF T=N THEN LET T=0 680 GO TO 200 700 PRINT "PLAYER";T;":YOU LOST" ------------------------------------------------- 31) program 445 bytes SLOT 31 100 PRINT "WELCOME TO MASTERMIND" 110 PRINT "ENTER NUMBER OF DIGITS (3-7)" 120 INPUT N 130 LET N=N-1 140 DIM A(N) 200 FOR I=0 TO N 210 LET X=RND(10)-1 220 FOR J=0 TO I 230 IF X=A(J) THEN GO TO 210 240 NEXT J 250 LET A(I)=X 260 NEXT I 270 LET G=0 280 GO TO 530 300 INPUT B$ 310 IF B$="" THEN STOP 320 CLS 330 PRINT B$ 340 LET R=0 350 LET C=0 360 LET G=G+1 370 FOR I=0 TO N 380 LET X=CODE(B$)-28 390 IF X=A(I) THEN LET C=C+1 400 FOR J=0 TO N 410 IF X=A(J) THEN LET R=R+1 420 NEXT J 430 LET B$=TL$(B$) 440 NEXT I 450 IF C=N+1 THEN GO TO 600 500 PRINT "NUMBERS RIGHT=";R 510 PRINT "CORRECT POSITIONS=";C 520 PRINT 530 PRINT "ENTER ";N+1;"-DIGIT GUESS" 540 GO TO 300 600 PRINT "YOU DID IT IN ";G;" GUESSES" ------------------------------------------------- 32) program 589 bytes SLOT 32 100 DIM G(9) 110 PRINT "ENTER PLAYER 1 NAME" 120 INPUT Y$ 130 PRINT "PLAYER 2 NAME?" 140 INPUT Z$ 150 LET A$=Y$ 160 LET B=2 170 GO TO 600 200 LET C=G(I) 210 IF C=0 THEN RETURN 220 FOR S=-1 TO 1 230 IF S=0 THEN GO TO 330 240 FOR J=1 TO 6 250 LET K=I+S*J 260 IF K=9 OR K=0 THEN GO TO 300 270 IF G(K)=0 OR G(K)=C THEN GO TO 290 280 NEXT J 290 IF J=1 OR G(K)=0 THEN GO TO 330 300 FOR K=1 TO J-1 310 LET G(I+S*K)=0 320 NEXT K 330 NEXT S 340 CLS 350 PRINT 360 PRINT "PINCH" 370 PRINT 380 PRINT 390 FOR J=1 TO 8 400 PRINT " ";CHR$(27+G(J)); 410 NEXT J 420 PRINT 430 PRINT " "; 440 FOR J=1 TO 8 450 PRINT "\A\T\A"; 460 NEXT J 470 PRINT 480 PRINT 490 FOR J=1 TO 8 500 PRINT " ";J; 510 NEXT J 520 RETURN 600 GO SUB 340 610 PRINT 620 PRINT A$;":ENTER MOVE" 630 INPUT I$ 640 LET I=CODE(I$)-28 650 IF I=0 THEN GO TO 999 660 IF I>0 AND I<9 THEN GO TO 680 670 GO TO 630 680 IF NOT G(I)=0 THEN GO TO 630 690 LET G(I)=B 700 GO SUB 200 710 LET I=I+1 720 IF I=9 THEN LET I=7 730 GO SUB 200 740 LET B=B+1 750 IF B=3 THEN LET B=1 760 IF B=2 THEN LET A$=Y$ 770 IF B=1 THEN LET A$=Z$ 780 GO TO 610