ChipMaster's bwBASIC This also includes history going back to v2.10. *WARN* some binary files might have been corrupted by CRLF.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

72 lines
2.0 KiB

  1. 5 PRINT TAB(34);"AWARI"
  2. 7 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
  3. 10 DATA 0
  4. 15 DIM B(13),G(13),F(50):READ N
  5. 20 PRINT:PRINT:E=0
  6. 25 FOR I=0 TO 12:B(I)=3:NEXT I
  7. 30 C=0:F(N)=0:B(13)=0:B(6)=0
  8. 35 GOSUB 500
  9. 40 PRINT "YOUR MOVE";:GOSUB 110
  10. 45 IF E=0 THEN 80
  11. 50 IF M=H THEN GOSUB 100
  12. 55 IF E=0 THEN 80
  13. 60 PRINT "MY MOVE IS ";:GOSUB 800
  14. 65 IF E=0 THEN 80
  15. 70 IF M=H THEN PRINT ",";:GOSUB 800
  16. 75 IF E>0 THEN 35
  17. 80 PRINT:PRINT"GAME OVER"
  18. 85 D=B(6)-B(13):IF D<0 THEN PRINT "I WIN BY";-D;"POINTS":GOTO 20
  19. 90 N=N+1:IF D=0 THEN PRINT "DRAWN GAME":GOTO 20
  20. 95 PRINT "YOU WIN BY";D;"POINTS":GOTO 20
  21. 100 PRINT "AGAIN";
  22. 110 INPUT M:IF M<7 THEN IF M>0 THEN M=M-1:GOTO 130
  23. 115 IF M = -99 THEN END
  24. 120 PRINT "ILLEGAL MOVE":GOTO 100
  25. 130 IF B(M)=0 THEN 120
  26. 140 H=6:GOSUB 200
  27. 150 GOTO 500
  28. 200 K=M:GOSUB 600
  29. 205 E=0:IF K>6 THEN K=K-7
  30. 210 C=C+1:IF C<9 THEN F(N)=F(N)*6+K
  31. 215 FOR I=0 TO 5:IF B(I)<>0 THEN 230
  32. 220 NEXT I
  33. 225 RETURN
  34. 230 FOR I=7 TO 12:IF B(I)<>0 THEN E=1:RETURN
  35. 235 NEXT I
  36. 500 PRINT:PRINT" ";
  37. 505 FOR I=12 TO 7 STEP -1:GOSUB 580
  38. 510 NEXT I
  39. 515 PRINT:I=13:GOSUB 580
  40. 520 PRINT " ";:PRINT B(6):PRINT " ";
  41. 525 FOR I=0 TO 5:GOSUB 580
  42. 530 NEXT I
  43. 535 PRINT:PRINT:RETURN
  44. 580 IF B(I)<10 THEN PRINT " ";
  45. 585 PRINT B(I);:RETURN
  46. 600 P=B(M):B(M)=0
  47. 605 FOR P=P TO 1 STEP -1:M=M+1:IF M>13 THEN M=M-14
  48. 610 B(M)=B(M)+1:NEXT P
  49. 615 IF B(M)=1 THEN IF M<>6 THEN IF M<>13 THEN IF B(12-M)<>0 THEN 625
  50. 620 RETURN
  51. 625 B(H)=B(H)+B(12-M)+1:B(M)=0:B(12-M)=0:RETURN
  52. 800 D=-99:H=13
  53. 805 FOR I=0 TO 13:G(I)=B(I):NEXT I
  54. 810 FOR J=7 TO 12:IF B(J)=0 THEN 885
  55. 815 G=0:M=J:GOSUB 600
  56. 820 FOR I=0 TO 5:IF B(I)=0 THEN 845
  57. 825 L=B(I)+I:R=0
  58. 830 IF L>13 THEN L=L-14:R=1:GOTO 830
  59. 835 IF B(L)=0 THEN IF L<>6 THEN IF L<>13 THEN R=B(12-L)+R
  60. 840 IF R>Q THEN Q=R
  61. 845 NEXT I
  62. 850 Q=B(13)-B(6)-Q:IF C>8 THEN 875
  63. 855 K=J:IF K>6 THEN K=K-7
  64. 860 FOR I=0 TO N-1:IF F(N)*6+K=INT(F(I)/6^(7-C)+.1) THEN Q=Q-2
  65. 870 NEXT I
  66. 875 FOR I=0 TO 13:B(I)=G(I):NEXT I
  67. 880 IF Q>=D THEN A=J:D=Q
  68. 885 NEXT J
  69. 890 M=A:PRINT CHR$(42+M);:GOTO 200
  70. 900 FOR I=0 TO N-1:PRINT B(I):NEXT I
  71. 999 END