home *** CD-ROM | disk | FTP | other *** search
/ ftp.whtech.com / ftp.whtech.com.tar / ftp.whtech.com / club100 / gam / nim.ba < prev    next >
Text File  |  2006-10-19  |  3KB  |  51 lines

  1. 0 'NIM.BA Unknown
  2. 1 'CLUB 100 Library - 415/939-1246 BBS,    937-5039 NEWSLETTER, 932-8856 VOICE
  3. 2 CLEAR200:DEFINTA-A:CLS:P(1)=140:P(2)=222:P(3)=304:N(1)=7:N(2)=5:N(3)=3:X(1)=0:X(2)=1:CM=2
  4. 3 IFCM=2THENK=VAL(RIGHT$(TIME$,2)):FORI=1TOK:L=RND(1):NEXTI
  5. 4 GOSUB46
  6. 5 IR=3:IC=4:GOSUB35:PRINT@Q,"Do you want";:IR=4:IC=4:GOSUB35:PRINT@Q,"to go first?";:IR=5:IC=8:GOSUB35:PRINT@Q,"";:PL=0
  7. 6 A$=INPUT$(1):IFA$="Y"ORA$="y"THENPL=1ELSEIFA$="N"ORA$="n"THENPL=2
  8. 7 IFCM=2ANDPL=0THENBEEP:GOTO5ELSEIFCM=1ANDPL=0THEN5
  9. 8 PRINTA$;:GOSUB45:GOSUB49:IR=4:IC=0:GOSUB35:PRINT@Q,STRING$(17," ");:IR=3:IC=1:GOSUB35:PRINT@Q,"Ok buddy,";:IR=5:IC=1
  10. 9 GOSUB35:PRINT@Q,"";:IFPL=1THENPRINT"you";ELSEPRINT"I'll";:EX=1
  11. 10 PRINT" go first...";:GOSUB45:GOSUB49:IFPL=1THEN28
  12. 11 IFEX=0THENIR=5:IC=0:GOSUB35:PRINT@Q,"Now it's my turn...";:GOSUB45:PL=2
  13. 12 PRINT@Q,STRING$(19," ");:EX=0:GOTO16
  14. 13 J1=(4ANDN(1)+(4ANDN(2)))/4:J2=(2ANDN(1)+(2ANDN(2))+(2ANDN(3)))/2:J3=(1ANDN(1)+(1ANDN(2))+(1ANDN(3)))
  15. 14 IFINT(J1/2)*2=J1ANDINT(J2/2)*2=J2ANDINT(J3/2)*2=J3THENST=0ELSEST=1
  16. 15 RETURN
  17. 16 GOSUB13:IFST=0THEN22ELSEM1=0:M2=0:X=0
  18. 17 FORI=1TO3:IFN(I)=0THEN21
  19. 18 FORJ=1TON(I):IFX=1THEN20
  20. 19 Z=N(I):Y=N(I)-J:N(I)=Y:GOSUB13:IFST=0THENM1=I:M2=J:X=1ELSEN(I)=Z
  21. 20 NEXTJ
  22. 21 NEXTI:IFX=1THEN26
  23. 22 I=INT(RND(X(CM))*10):IFI>0ANDI<4THENM1=IELSE22
  24. 23 IFN(M1)=0THEN22
  25. 24 I=INT(RND(X(CM))*10):IFI>0ANDI<N(M1)+1THENM2=IELSE24
  26. 25 N(M1)=N(M1)-M2
  27. 26 IR=2:IC=0:GOSUB35:PRINT@Q,"My move is:";:GOSUB45:IR=4:GOSUB35:PRINT@Q,"Row #"INT(M1);:GOSUB45:IR=5:GOSUB35
  28. 27 PRINT@Q,"Number ="INT(M2);:GOSUB45:CLS:GOSUB46:GOSUB39
  29. 28 GOSUB13:PL=1:IR=3:IC=0:GOSUB35:PRINT@Q,"Your move...";:IR=5:IC=0:GOSUB35:PRINT@Q,"Enter row (1-3):";
  30. 29 A$=INPUT$(1):X=VAL(A$):IFX<1ORX>3THEN29
  31. 30 IFN(X)<1THEN29ELSEN=X:PRINTA$;
  32. 31 IR=1+2*X:IC=34:GOSUB35:PRINT@Q,"<--";:IR=6:IC=0:GOSUB35:PRINT@Q,"How many? ";
  33. 32 A$=INPUT$(1):X=VAL(A$):IFX<1ORX>N(N)THEN32
  34. 33 PRINTA$;:GOSUB45:FORI=1TO6:IR=I:IC=0:GOSUB35:PRINT@Q,STRING$(17," ");:NEXTI:IR=5:IC=3:GOSUB35:PRINT@Q,"Ok...";
  35. 34 N(N)=INT(N(N)-X):GOSUB45:CLS:GOSUB46:GOSUB39:GOTO11
  36. 35 ONCMGOTO36,37
  37. 36 Q=IR*80+IC:GOTO38
  38. 37 Q=IR*40+IC
  39. 38 RETURN
  40. 39 IFN(1)<=0ANDN(2)<=0ANDN(3)<=0THENONPLGOTO40,41ELSERETURN
  41. 40 MS$="      I don't believe you beat me!":GOTO42
  42. 41 MS$="Tough luck buddy, better luck next time!
  43. 42 CLS:IR=3:IC=0:GOSUB35:PRINT@Q,"";:FORI=1TOLEN(MS$):PRINTMID$(MS$,I,1);:FORJ=1TO10:NEXTJ:NEXTI:GOSUB45:CLS:IR=3:IC=12
  44. 43 GOSUB35
  45. 44 PRINT@Q,"Want to try again? ";:A$=INPUT$(1):IFA$="Y"ORA$="y"THENRUNELSEIFA$="N"ORA$="n"THENMENUELSE44
  46. 45 FORI=1TO500:NEXTI:RETURN
  47. 46 FORI=1TO3:N=N(I):P=P(I):IR=P/40:IC=P-IR*40:GOSUB35:GOSUB47:NEXTI:RETURN
  48. 47 PRINT@Q,STRING$(14," ");:PRINT@Q,"";:IFN=0THENRETURNELSEFORJ=1TON:PRINTCHR$(147)" ";:NEXTJ
  49. 48 RETURN
  50. 49 IR=3:IC=0:GOSUB35:PRINT@Q,STRING$(20," ");:IR=5:GOSUB35:PRINT@Q,STRING$(20," ");:RETURN
  51.