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

  1. 0 'OTHELO.BA JT
  2. 1 'CLUB 100 Library - 415/939-1246 BBS,    937-5039 NEWSLETTER, 932-8856 VOICE
  3. 2 'With graphic scroll removed by Don Zeikel revised 04/23/85
  4. 3 CLS:PRINT"GREETINGS FROM OTHELLO":FORI=1TO700:NEXT:CLS
  5. 4 CLEAR:ONKEYGOSUB58,,,,,,,58:KEY(1)ON:KEY(8)ON:GOSUB55:GOSUB52:GOTO19 
  6. 5 B1=-1:I3=0:J3=0:T1=C:T2=H:I=1
  7. 6 FORJ=1TO8:IFA(I,J)<>0THEN15:GOSUB44
  8. 7 IFF1=0THEN15
  9. 8 U=-1:GOSUB46:IFS1=0THEN15
  10. 9 IF(I-1)*(I-8)<>0THEN10ELSES1=S1+S2
  11. 10 IF(J-1)*(J-8)<>0THEN11ELSES1=S1+S2
  12. 11 IFS1<B1THEN15
  13. 12 IFS1>B1THEN14
  14. 13 GOSUB53:IFR!>0.5THEN15
  15. 14 B1=S1:I3=I:J3=J
  16. 15 NEXT:I=I+1:IFI>8THEN16ELSE6
  17. 16 IFB1>0THEN18ELSEPRINT@140,"I FORFEIT MY MOVE   ":PRINT@180,K$
  18. 17 IFZ=1THEN30ELSEZ=1:GOTO19
  19. 18 I=I3:J=J3:U=1:GOSUB46:C1=C1+S1+1:H1=H1-S1:N1=N1+1:GOSUB52:Z=0:PRINT@140,"I MOVED TO "I3","C$(J3):PRINT@220,"THAT GIVES ME "S1;:PRINT@260,"OF YOUR PIECES":IFH1=0THEN30ELSEIFN1=64THEN30
  20. 19 T1=H:T2=C:PRINT@20,"YOUR MOVE - ROW,COL:":PRINT@60,;:INPUTI,X$:IFI<0THEN19ELSEIFI>8THEN19ELSEIFI<>0THEN23
  21. 20 PRINT@220,"DO YOU FORFEIT?    ";:PRINT@260,K$;:PRINT@260," (Y N)";:INPUTX$:IFX$<>"y"THEN19
  22. 21 IFZ=1THEN30
  23. 22 Z=1:GOTO5
  24. 23 FORJ=1TO8:IFC$(J)=X$THEN25ELSENEXT
  25. 24 GOTO19
  26. 25 IFA(I,J)=0THEN26ELSEPRINT@100,"SORRY SPOT OCCUPIED":GOTO19
  27. 26 GOSUB44:IFF1=1THEN27ELSEPRINT@100,"SORRY MUST BE NEXT";:PRINT@140,"TO ONE OF MY PIECES";:GOTO19
  28. 27 U=-1:GOSUB46:IFS1>0THEN28ELSEPRINT@100,"DOESN'T FLANK A ROW ":GOTO19
  29. 28 Z=0:U=1:GOSUB46:H1=H1+S1+1:C1=C1-S1:N1=N1+1:GOSUB52:PRINT@20,"THAT GIVES YOU ";:PRINT@60,S1" OF MY PIECES";:PRINT@140,"YOU HAVE"H1" PIECES":PRINT@180,"I HAVE "C1" PIECES":IFC1=0THEN30ELSEIFN1=64THEN30ELSE5
  30. 29 'END OF GAME WRAPUP 
  31. 30 GOSUB52:PRINT@20,"YOU HAVE"H1" PIECES";:PRINT@60,"I HAVE "C1" PIECES";:PRINT@100,K$;:IFH1=C1THEN32ELSEIFH1>C1THEN33
  32. 31 PRINT@140,"SORRY, I WON.       ":GOTO34
  33. 32 PRINT@140,"A TIE!!!":GOTO42
  34. 33 PRINT@140,"YOU WON !!!"
  35. 34 C1=C1-H1:IFC1>0THEN35ELSEC1=-C1
  36. 35 C1=(64*C1)/N1:PRINT@180,"THAT WAS A ";:IFC1<11THEN41ELSEIFC1<25THEN40ELSEIFC1<39THEN39
  37. 36 IFC1<53THEN38
  38. 37 PRINT@220,"PERFECT GAME":GOTO42
  39. 38 PRINT@220,"WALKAWAY":GOTO42
  40. 39 PRINT@220,"FIGHT":GOTO42
  41. 40 PRINT@220,"HOT GAME":GOTO42
  42. 41 PRINT@220,"SQUEAKER !!":GOTO42
  43. 42 PRINT@260,"";:INPUT"PLAY AGAIN ";X$:IFX$="y"THEN4ELSEPRINT@300,"THANKS FOR PLAYING":
  44. 43 FORI1=1TO50:NEXT:MENU
  45. 44 FORI1=-1TO1:FORJ1=-1TO1:IFA(I+I1,J+J1)=T2THENF1=1:RETURNELSENEXT:NEXT
  46. 45 F1=0:RETURN:'SUB SCORE & UPDATE 
  47. 46 S1=0:FORK=1TO8:I5=I4(K):J5=J4(K):I6=I+I5:J6=J+J5:S3=0:IFA(I6,J6)<>T2THEN51
  48. 47 S3=S3+1:I6=I6+I5:J6=J6+J5:IFA(I6,J6)=T1THEN49
  49. 48 IFA(I6,J6)=0THEN51ELSE47
  50. 49 S1=S1+S3:IFU<>1THEN51ELSEI6=I:J6=J
  51. 50 FORK1=0TOS3:A(I6,J6)=T1:I6=I6+I5:J6=J6+J5:NEXT
  52. 51 NEXT:RETURN:'SUB PRINT BOARD
  53. 52 FORX=0TO5:PRINT@X*40+20,SPACE$(20);:NEXT:PRINT@260,SPACE$(19);:FORX=1TO8:PRINT:PRINT@(X-1)*40,X;:FORY=1TO8:PRINT" ";:PRINTD$(A(X,Y)+1);:NEXT:NEXT:RETURN
  54. 53 'mod100 random subroutine
  55. 54 FORQR=1TOINT(((VAL(RIGHT$(TIME$,2))))*((VAL(MID$(TIME$,4,2)))/2)*(VAL(MID$(DATE$,4,2)))/100):UQ=RND(1):NEXT:RETURN
  56. 55 'init pgm
  57. 56 CLS:DEFINTA-Z:K$=CHR$(27)+CHR$(75):DIMA(9,9),I4(8),J4(8),C$(8),D$(2):GOSUB53:F2=0:S2=2:B=-1:W=+1:D$(B+1)="X":D$(0+1)=".":D$(W+1)="O":FORK=1TO8:READI4(K):NEXT:DATA0,-1,-1,-1,0,1,1,1:FORK=1TO8:READJ4(K):NEXT:DATA1,1,0,-1,-1,-1,0,1
  58. 57 FORK=1TO8:READC$(K):NEXT:DATAa,b,c,d,e,f,g,h:FORP=0TO9:FORQ=0TO9:A(P,Q)=0:NEXT:NEXT:A(4,4)=W:A(5,5)=W:A(4,5)=B:A(5,4)=B:C1=2:H1=2:N1=4:Z=0:C=W:H=B:RETURN
  59. 58 MENU
  60.