Back to Main page. Back to Main tapes page. 10 PRINT "THIS IS THE GAME OF NIM." 20 DIM A$[72],X[3],Y[3],Z[3] 30 A=A1=123 40 X[1]=1 50 X[2]=2 60 X[3]=3 70 PRINT "WOULD YOU LIKE TO GO FIRST"; 80 INPUT A$ 90 PRINT "STARTING POSITION:"A"[ "; 100 MAT Z=X 110 GOSUB 500 120 IF A$[1,1]="N" THEN 340 130 PRINT "YOUR MOVE: "; 140 ENTER -1,Q,A 150 Y[1]=INT(A/100) 160 Y[2]=INT(A/10)-(Y[1]*10) 170 Y[3]=A-(Y[1]*100)-(Y[2]*10) 180 FOR Q=1 TO 3 190 Z[Q]= NOT (X[Q]-Y[Q]) 200 NEXT Q 210 IF A >= A1 THEN 250 220 IF Z[1] AND Z[2] AND NOT Z[3] THEN 270 230 IF Z[1] AND Z[3] AND NOT Z[2] THEN 270 240 IF Z[2] AND Z[3] AND NOT Z[1] THEN 270 250 PRINT TAB(16)"ILLEGAL MOVE" 260 GOTO 130 270 RESTORE 280 PRINT TAB(16)"[ "; 290 MAT Z=Y 300 GOSUB 500 310 IF A THEN 340 320 PRINT "YOU WIN"'7'7'7" YOU LUCKY DOG!!!" 330 GOTO 450 340 IF TYP(0)=3 THEN 250 350 READ A2,A1 360 IF A2#A THEN 340 370 PRINT "MACHINE'S MOVE IS:"A1"[ "; 380 X[1]=INT(A1/100) 390 X[2]=INT(A1/10)-(X[1]*10) 400 X[3]=A1-(X[1]*100)-(X[2]*10) 410 MAT Z=X 420 GOSUB 500 430 IF A1 THEN 130 440 PRINT "MACHINE WINS,OF COURSE." 450 PRINT LIN(-1)"PLAY AGAIN "; 460 INPUT A$ 470 PRINT 480 IF A$[1,1]="Y" THEN 30 490 STOP 500 FOR Q=1 TO 3 510 FOR Q1=1 TO Z[Q] 520 PRINT "X"; 530 NEXT Q1 540 FOR Q1=Z[Q]+1 TO Q 550 PRINT "-"; 560 NEXT Q1 570 PRINT " "; 580 NEXT Q 590 PRINT "]" 600 RETURN 610 DATA 1,0,2,0,3,0,10,0,11,1,12,11,13,11,20,0,21,11,22,21,23,22 620 DATA 100,0,101,1,102,101,103,101,110,10,111,110,112,110,113,110 630 DATA 120,110,121,101,122,22,123,23 640 END