home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / SIMTEL / CPMUG / CPMUG021.ARK / WARI.ASC < prev    next >
Text File  |  1984-04-29  |  3KB  |  91 lines

  1. 100 PRINT CHR$(26) : WIDTH 120
  2. 101 U=1:J=U:X=6:Z=0:Q=14:P=13:H=100:D=12:W9=.25:G=4:T4=24:T2=2
  3. 102 DIM T(Q),Y(Q),W(Q),V(X),E(X),B(Q)
  4. 103 INPUT"GIVE ME A RANDOM NUMBER";M
  5. 104 R1=RND(-M)
  6. 105 PRINT"********** WARI - A GAME OF SKILL **************"
  7. 106 FOR J=U TO Q:B(J)=G:NEXT J
  8. 107 B(P)=Z:B(Q)=Z:M1=Z
  9. 108 R1=RND(U):R1=R1/D:W1=W9+R1:W2=W9-R1
  10. 109 INPUT"DO YOU WISH TO GO FIRST (Y OR N)";A$
  11. 110 IF A$="N" THEN 121
  12. 111 IF A$<>"Y" THEN 109
  13. 112 GOSUB 179
  14. 113 INPUT"YOUR MOVE";M:IF M>X THEN 113
  15. 114 FOR J=U TO Q:T(J)=B(J):NEXT J:GOSUB 128
  16. 115 IF M<Z THEN PRINT"ILLEGAL MOVE":GOTO 113
  17. 116 FOR J=U TO Q:B(J)=T(J):NEXT J
  18. 117 M1=M1+U:IF M1<X THEN GOSUB 179
  19. 118 IF B(P)<T4 THEN 121
  20. 119 GOSUB 179
  21. 120 PRINT"I MUST BOW TO YOUR SUPERIOR INTELLIGENCE--YOU WIN!":GOTO105
  22. 121 GOSUB 154
  23. 122 PRINT:PRINT"MY MOVE IS";M
  24. 123 FOR J=U TO Q:T(J)=B(J):NEXT J:GOSUB 128
  25. 124 FOR J=U TO Q:B(J)=T(J):NEXT J
  26. 125 IF B(Q)<T4 THEN 112
  27. 126 GOSUB 179
  28. 127 PRINT:PRINT:PRINT"HA HA I WIN!!!!":PRINT:PRINT:GOTO105
  29. 128 IF M<U THEN 131
  30. 129 IF M>D THEN 131
  31. 130 IF M=INT(M) THEN 132
  32. 131 M=-U:RETURN
  33. 132 IF T(M)=Z THEN M=-T2:RETURN
  34. 133 I=Z:IF M>X THEN I=U:GOTO 135
  35. 134 FOR J=U TO Q:Y(J)=T(J):NEXT J:GOTO 137
  36. 135 FOR J=U TO X:Y(J)=T(J+X):Y(J+X)=T(J):NEXT J
  37. 136 Y(P)=T(Q):Y(Q)=T(P):M=M-X
  38. 137 N=Y(M):C=M
  39. 138 FOR J=U TO N:C=C+U
  40. 139 IF C=P THEN C=U
  41. 140 IF C=M THEN C=C+U
  42. 141 IF C=P THEN C=U
  43. 142 Y(C)=Y(C)+U:NEXT J
  44. 143 Y(M)=Z:L=C
  45. 144 IF L<U+X THEN 148
  46. 145 IFY(L)>=G THEN 148
  47. 146 IF Y(L)<T2 THEN 148
  48. 147 Y(P)=Y(P)+Y(L):Y(L)=Z:L=L-U:GOTO 144
  49. 148 S=Z:FOR J=U+X TO D:S=S+Y(J):NEXT J
  50. 149 IF S=Z THEN M=-T2-U:RETURN
  51. 150 IF I=Z THEN FOR J=UTOQ:T(J)=Y(J):NEXT J:GOTO153
  52. 151 FORJ=U TO X:T(J)=Y(J+X):T(J+X)=Y(J):NEXT J
  53. 152 T(Q)=Y(P):T(P)=Y(Q)
  54. 153 RETURN
  55. 154 FOR A=U TO X
  56. 155 M=A+X:IF B(M)=Z THEN E(A)=-H:GOTO175
  57. 156 FOR J=U TO Q:T(J)=B(J):NEXT J :GOSUB 128
  58. 157 IFM<Z THEN E(A)=-H:GOTO175
  59. 158 IFT(Q)>=T4 THEN M=A+X:RETURN
  60. 159 FOR J=U TO Q: W(J)=T(J):NEXT J
  61. 160 FOR R=U TO X:IF T(R)=Z THEN V(R)=H:GOTO172
  62. 161 FOR J=U TO Q:T(J)=W(J):NEXT J
  63. 162 M=R: GOSUB128
  64. 163 IF M<Z THEN V(R)=H:GOTO 172
  65. 164 F1=Z:F2=Z:F3=Z:F4=Z:F5=Z
  66. 165 FOR J=U+X TO D:F2=F2+T(J)
  67. 166 IF T(J)>Z THEN F1=F1+U
  68. 167 IF T(J)<=T2 THEN F3=F3+U
  69. 168 IF T(J)>F4 THEN F4=T(J)
  70. 169 NEXT J:F5=F2:FOR J=U TO X:F5=F5+T(J):NEXT J
  71. 170 F1=F1/X:F4=U-(F4/F2):F3=U-(F3/X):F2=F2/F5
  72. 171 V(R)=(W1*(F1+F2))+(W2*(F3+F4))+(T(Q)-B(Q))-(T(P)-B(P))
  73. 172 NEXT R:E(A)=H
  74. 173 FOR J=U TO X:IF V(J)<E(A) THEN E(A)=V(J)
  75. 174 NEXT J
  76. 175 NEXT A
  77. 176 M=Z:A=-H:FOR J=U TO X
  78. 177 IF E(J)>A THEN A=E(J):M=X+J
  79. 178 NEXT J:RETURN
  80. 179 PRINT
  81. 180 PRINT"10";TAB(25);B(P-3);SPC(5);B(P-4);SPC(26);"9"
  82. 181 PRINT"11";TAB(18);B(P-2);SPC(19);B(P-5);SPC(19);"8"
  83. 182 PRINT"12";TAB(11);B(P-1);SPC(33);B(P-6);SPC(12);"7"
  84. 183 PRINT
  85. 184 PRINT"1";TAB(11);B(1);SPC(33);B(6);SPC(12);"6"
  86. 185 PRINT"2";TAB(18);B(2);SPC(19);B(5);SPC(19);"5"
  87. 186 PRINT"3";TAB(25);B(3);SPC(5);B(4);SPC(26);"4"
  88. 187 PRINT:PRINT"I HAVE NOW CAPTURED ";B(Q);"MEN"
  89. 188 PRINT"AND YOU HAVE CAPTURED ";B(P);"MEN":PRINT
  90. 189 RETURN
  91.