File AWARI.BA (BASIC source file)

Directory of image this file is from
This file as a plain text file

1 REM *** AWARI GAME BY GEOFF WYVILL, UNIV OF BRADFORD, ENGLAND
2 REM *** MODIFIED FOR BASIC-PLUS BY DAVE AHL, DIGITAL PDP-11/45 GROUP
3 REMARKABLY TRANSLATED TO OS8 BASIC BY KAY R. FISHER...DEC
5 DATA0\GOTO 905
10 DIMB(13),G(13),F(50)\READN
15 FORI=0TON-1\READF(I)\NEXTI
20 PRINT\PRINT "GAME OF *** AWARI ***"
25 FORI=0TO12\LETB(I)=3\NEXTI
30 LETC=0\LETF(N)=0\LETB(13)=0\LETB(6)=0
35 GOSUB500
40 PRINT"YOUR MOVE";\GOSUB110
45 IFE=0GOTO80
50 IF M<>H GOTO 55
52 GOSUB 100
55 IFE=0GOTO80
60 PRINT"MY MOVE IS ";\GOSUB800
65 IFE=0GOTO80
70 IF M<>H GOTO 73
72 PRINT ",";
73 GOSUB 800
75 IFE>0GOTO35
80 PRINT\PRINT"GAME OVER"
85 D=B(6)-B(13)\IF D=>0 GOTO 90\PRINT "I WIN BY";-D;"POINTS"\GOTO 20
90 N=N+1\IF D<>0 GOTO 95\PRINT "DRAWN GAME"\GOTO 20
95 PRINT "YOU WIN BY";D;"POINTS"\GOTO20
100 PRINT"AGAIN";
110 INPUT M\IF M>=7 GOTO 120\IF M<=0 GOTO 120\M=M-1\GOTO 130
120 PRINT"ILLEGAL MOVE"\GOTO100
130 IFB(M)=0GOTO120
140 LETH=6\GOSUB200
150 GOTO500
200 LETK=M\GOSUB600
205 E=0\IF K=<6 GOTO 210\K=K-7
210 C=C+1\IF C=>9 GOTO 215\F(N)=F(N)*6+K
215 FORI=0TO5\IFB(I)<>0THEN230
220 NEXTI
225 RETURN
230 FOR I=7 TO 12\IF B(I)=0 GOTO 235\E=1\RETURN
235 NEXT I\RETURN
500 PRINT\PRINT"   ";
505 FORI=12TO7STEP-1\GOSUB580
510 NEXTI
515 PRINT\LETI=13\GOSUB580
520 PRINT,"             ";\PRINTB(6)\PRINT"   ";
525 FORI=0TO5\GOSUB580
530 NEXTI
535 PRINT\PRINT\RETURN
580 IF B(I)=>10 GOTO 585\PRINT " ";
585 PRINTB(I);\RETURN
600 LETP=B(M)\LETB(M)=0
605 FOR P=P TO 1 STEP -1\M=M+1\IF M=<13 GOTO 610\M=M-14
610 LETB(M)=B(M)+1\NEXTP
615 IF B(M)<>1GOTO620\IFM=6GOTO620\IFM=13GOTO620\IFB(12-M)<>0GOTO625
620 RETURN
625 LETB(H)=B(H)+B(12-M)+1\LETB(M)=0\LETB(12-M)=0\RETURN
800 LETD=-99\LETH=13
805 FORI=0TO13\LETG(I)=B(I)\NEXTI
810 FORJ=7TO12\IFB(J)=0THEN885
815 LETQ=0\LETM=J\GOSUB600
820 FORI=0TO5\IFB(I)=0GOTO845
825 LETL=B(I)+I\LETR=0
830 IF L=<13 GOTO 835\L=L-14\R=1\GOTO830
835 IF B(L)<>0 GOTO 840\IF L=6 GOTO 840\IF L=13 GOTO 840\R=B(12-L)+R
840 IF R=<Q GOTO 845\Q=R
845 NEXTI
850 LETQ=B(13)-B(6)-Q\IFC>8GOTO875
855 K=J\IF K=<6 GOTO 860\K=K-7
860 FOR I=0 TO N-1\IF F(N)*6+K<>INT(F(I)/6**(7-C)+.1) GOTO 870\Q=Q-2
870 NEXTI
875 FORI=0TO13\LETB(I)=G(I)\NEXTI
880 IF Q<D GOTO 885\A=J\D=Q
885 NEXTJ
890 LETM=A\PRINTCHR$(42+M);\GOTO200
900 FORI=0TON-1\PRINTF(I)\NEXTI
905 PRINT\PRINT"GAME OF AWARI (KALAH, BEANS)"\PRINT
910 PRINT "WANT INSTRUCTIONS -- THEY ARE LONG (Y OR N)";
911 INPUT A$\IF A$="N" GOTO 10
915 PRINT"THE AWARI BOARD IS DIVIDED INTO 6 PITS ON MY SIDE AND 6 PITS ON"
920PRINT "YOUR SIDE. IN ADDITION, THERE ARE TWO SPECIAL PITS AT EACH END:"
925 PRINT"MY HOME AND YOUR HOME."\PRINT
930 PRINT"A MOVE IS MADE BY TAKING ALL OF THE BEANS FROM ANY NON-EMPTY PIT"
935 PRINT"ON YOUR SIDE.  STARTING FROM THE PIT TO THE RIGHT OF THIS ONE,"
940 PRINT"THESE BEANS ARE 'SOWN' ONE IN EACH PIT WORKING AROUND THE BOARD"
945 PRINT "COUNTER-CLOCKWISE."\PRINT
950 GOTO 10
999 END



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search