Random software
Random game
Random game
Entry name:
 Three Pile Nim 
Publisher/Developer:

BELLCOM - Public Domain Library
(Software library)
  • Category:

    Games
  • Maximum players:

    1
  • Programming language:

    Atari BASIC
Three Pile Nim Three Pile Nim Three Pile Nim
Listing 1
10 GRAPHICS 0:​DIM N(3),​S(4),​B(3,​4)
20 ? " ":​? " A PLAYER MAY TAKE ANY OR ALL PIECES FROM ANY ONE PILE."
40 ? "THE PLAYER WHO CLEARS THE BOARD WINS.":​?:​? " GOOD LUCK!!!"
80 ?:​? "WILL YOU ENTER A NUMBER FROM 1 TO 100";:​INPUT I
90 FOR J=1 TO I:​K=RND(1):​NEXT J:​?
110 FOR P=1 TO 3:​N(P)=INT(10*RND(1))+6:​NEXT P
120 GOSUB 1000:​TRAP 120
130 ? " FROM WHICH PILE NUMBER,​":​? "AND HOW MANY PIECES WILL YOU REMOVE? ";:​INPUT P,​NUM:​?
140 IF P<1 OR P>3 THEN 160
150 IF NUM<=N(P) THEN 170
160 ? " I'M AFRAID YOU CAN'T DO THAT!":​? "THE FORMAT IS 'PILE #,​ # OF PIECES'."
161 ? " ":​GOTO 130
170 N(P)=N(P)-NUM:​IF N(1)+N(2)+N(3)>0 THEN 220
190 ?:​? " O.K.!,​ YOU WIN!":​? " (BEGINNER'S LUCK)":​? " LET'S PLAY AGAIN!":​?:​?:​?
200 ?:​?:​GOTO 110
220 FOR P=1 TO 3:​X=N(P):​FOR C=4 TO 1 STEP -1:​Y=INT(X/2):​B(P,​C)=X-2*Y:​X=Y:​NEXT C:​NEXT P
230 FOR C=1 TO 4:​X=B(1,​C)+B(2,​C)+B(3,​C):​S(C)=X-2*INT(X/2):​NEXT C
240 IF S(1)+S(2)+S(3)>0 THEN 280
250 FOR P=1 TO 3:​IF N(P)=0 THEN 270
260 NUM=INT(N(P)*RND(1)+1):​GOTO 380
270 NEXT P
280 FOR C=1 TO 4:​IF S(C)>0 THEN 300
290 NEXT C
300 FOR P=1 TO 3:​IF B(P,​C)=1 THEN 320
310 NEXT P
320 NUM=0:​FOR C=C TO 4:​IF S(C)=0 THEN 370
340 X=INT(2^(4-C)+0.001):​IF B(P,​C)=0 THEN 360
350 NUM=NUM+INT(X):​GOTO 370
360 NUM=NUM-INT(X)
370 NEXT C
380 ?:​? " FROM PILE #";P;",​ I'LL TAKE ";NUM;" PIECES!":​?:​?
400 N(P)=N(P)-NUM:​IF N(1)+N(2)+N(3)>0 THEN 440
420 ? " ** I WIN **":​? " BUT I'M SUCH A GOOD SPORT,​":​? " I'LL LET YOU TRY AGAIN.":​GOTO 200
440 ? " HERE'S HOW THE PILES LOOK NOW:​":​?:​?:​?:​?:​GOSUB 1000:​GOTO 130
1000 FOR P=1 TO 3:​? "  ";P:​? "  ";N(P):​? " ":​NEXT P
1005 ?:​?:​RETURN	

This is non-commercial site, its content is based on Atari 8-bit home computer contents and references.
If you feel your rights are violated by showing/using any part of contents of your product represented on this page, please contact me immediatelly so I can remove it!