home *** CD-ROM | disk | FTP | other *** search
/ ftp.whtech.com / ftp.whtech.com.tar / ftp.whtech.com / club100 / pg / pggame / pyrmid.do < prev   
Text File  |  2006-10-19  |  4KB  |  108 lines

  1. 0 'PYRMID.BA by P. GLOBMAN
  2. 1 ES$=CHR$(27):RV$=ES$+"p":NV$=ES$+"q":DIMC(52),D(30),P(24),PY(57):C$="A23456789TJQK":P$="  "+STRING$(2,152)+"  "
  3. 2 FORI=27TO31:B$=B$+CHR$(I):NEXT:B$=B$+"NR":X=VAL(RIGHT$(TIME$,2)):X=RND(-VAL(MID$(TIME$,4,2))*60+X)
  4. 3 GOSUB27:FORI=1TO52:C(I)=I:NEXT:FORI=1TO52:X=52*RND(1)+1:Y=C(I):C(I)=C(X):C(X)=Y:NEXT
  5. 4 RESTORE:T=0:PM=0:K=1:X=49:FORI=1TO7:FORJ=1TOI:READY:PY(Y)=K:D(K)=X+J*4:K=K+1:NEXTJ:X=X+78:NEXTI:D(29)=551
  6. 5 D(30)=555:FORI=1TO24:P(I)=C(28+I):NEXT:GOSUB86
  7. 6 A$=INKEY$:IFA$=""THEN6
  8. 7 A=INSTR(1,B$,A$):IFA=0THEN6
  9. 8 ONAGOTO9,10,12,30,14,3,4
  10. 9 MENU
  11. 10 IFP<>19THENP=P+1:GOSUB91
  12. 11 GOTO6
  13. 12 IFP<>2THENP=P-1:GOSUB91
  14. 13 GOTO6
  15. 14 IFT<>0THEN6
  16. 15 IF(P2=PT)AND(PA=3)THEN6
  17. 16 IFP2=PTTHEN18
  18. 17 PP=PP+1:P1=P1-1:P2=P2+1:GOTO19
  19. 18 PP=1:PA=PA+1:P1=PT:P2=0
  20. 19 GOSUB20:GOTO6
  21. 20 IFP2<>PTTHEN23
  22. 21 PRINT@D(29)+1,"  ":IFP2=0THEN24
  23. 22 GOTO25
  24. 23 X=P(PP)MOD13:PRINT@D(29)+1,MID$(C$,X+1,1);:PRINTCHR$(156+P(PP)MOD4):IFP2<>0THEN25
  25. 24 PRINT@D(30)+1,"  ":GOTO26
  26. 25 X=P(PP-1)MOD13:PRINT@D(30)+1,MID$(C$,X+1,1);:PRINTCHR$(156+P(PP-1)MOD4)
  27. 26 GOSUB90:GOSUB92:RETURN
  28. 27 CLS:FORI=0TO4STEP2:LINE(0+I,0+I)-(239-I,127-I),1,B:NEXT:PRINT@217,"PYRAMID":PRINT@299,"by":PRINT@374,"Paul Globman"
  29. 28 PRINT@451,"Copyright (c) 1990":LINE(122,10)-(52,102):LINE(122,10)-(192,102):LINE(52,102)-(192,102)
  30. 29 LINE(122,10)-(203,91):LINE(192,102)-(203,91):RETURN
  31. 30 IF(P=18)OR(P=16)OR(P=15)THEN6
  32. 31 ONPGOSUB1,72,73,74,75,76,77,78,79,80,81,82,83,84,1,1,85,1,85:IFP>15THEN42
  33. 32 READY:IFY=0THEN6
  34. 33 IFPY(Y)=0THEN32
  35. 34 IFPY(Y+7)<>PY(Y+8)THEN6
  36. 35 IFT=0THEN51
  37. 36 IFT=PY(Y)THEN55
  38. 37 IFPM=0THEN40
  39. 38 SM=C(PY(Y))MOD13+Y2:IFSM<>11THENBEEP:GOTO6
  40. 39 GOSUB57:X=15-T:GOSUB58:T=0:PM=0:GOTO6
  41. 40 SM=C(T)MOD13+C(PY(Y))MOD13:IFSM<>11THENBEEP:GOTO6
  42. 41 GOSUB57:Y=Y2:GOSUB57:T=0:GOTO6
  43. 42 IF(P=17)AND(P1=0)THEN6
  44. 43 IF(P=19)AND(P2=0)THEN6
  45. 44 IFT=0THEN53
  46. 45 IFT=15-PTHEN56
  47. 46 IFPM=0THEN49
  48. 47 IFY2+X<>11THENBEEP:GOTO6
  49. 48 X=17:GOSUB58:X=19:GOSUB58:T=0:PM=0:GOTO6
  50. 49 IFC(T)MOD13+X<>11THENBEEP:GOTO6
  51. 50 Y=Y2:GOSUB57:X=P:GOSUB58:T=0:GOTO6
  52. 51 V=C(PY(Y)):Y2=Y:IFVMOD13=12THENGOSUB57:GOTO6
  53. 52 T=PY(Y):X=C(T)MOD13:PRINT@D(T)+1,RV$MID$(C$,X+1,1);:PRINTCHR$(156+C(T)MOD4)NV$:GOTO6
  54. 53 IFX=12THENX=P:GOSUB58:GOTO6
  55. 54 T=15-P:Y2=X:PM=1:PRINT@D(D)+1,RV$MID$(C$,X+1,1);:PRINTCHR$(156+VMOD4)NV$:GOTO6
  56. 55 X=C(T)MOD13:PRINT@D(T)+1,MID$(C$,X+1,1);:PRINTCHR$(156+C(T)MOD4);:T=0:GOTO6
  57. 56 T=0:PRINT@D(D)+1,MID$(C$,X+1,1);:PRINTCHR$(156+VMOD4):PM=0:GOTO6
  58. 57 X=6*(D(PY(Y))MOD40):Z=8*(D(PY(Y))\40)-4:LINE(X,Z)-(X+23,Z+15),0,BF:PY(Y)=0:RETURN
  59. 58 FORI=(PP-(X-17)/2)TO23:P(I)=P(I+1):NEXT:P(I)=0:PT=PT-1:IFX=17THENP1=P1-1
  60. 59 IFX=19THENP2=P2-1:PP=PP-1
  61. 60 GOTO20
  62. 61 S=0:FORI=1TO57:S=S+PY(I):NEXT:S=S+P1+P2:Z=0:IFS=0THEN64
  63. 62 IFPA<>3THENRETURN
  64. 63 X$="  PLEASE TRY AGAIN!":GOTO65
  65. 64 X$="  CONGRATULATIONS!!":GOTO66
  66. 65 PRINT@200,"";:FORI=1TO10:PRINTSPACE$(30):NEXT
  67. 66 LINE(50,72)-(90,72):LINE(70,52)-(20,102):LINE(20,102)-(120,102):LINE(120,102)-(70,52)
  68. 67 LINE(69-Z+1,52-(Z-1)/3)-(50,72),0:LINE(69-Z,52-Z/3)-(50,72),1
  69. 68 LINE(69-Z+1,52-(Z-1)/3)-(89-2*((Z-1)/4),70-1.3*(Z-1)),0:LINE(69-Z,52-Z/3)-(89-2*(Z/4),70-1.3*Z),1
  70. 69 LINE(89-2*((Z-1)/4),70-1.3*(Z-1))-(50,71),0:LINE(89-2*(Z/4),70-1.3*Z)-(50,71):Z=Z+1:IFZ<>7THEN67
  71. 70 FORI=1TOLEN(X$):PRINT@334,RIGHT$(X$,I):FORJ=1TO100:NEXT:NEXT:IFS=0THENPRINT@380," You won on";
  72. 71 RETURN
  73. 72 RESTORE94:RETURN
  74. 73 RESTORE95:RETURN
  75. 74 RESTORE96:RETURN
  76. 75 RESTORE97:RETURN
  77. 76 RESTORE98:RETURN
  78. 77 RESTORE99:RETURN
  79. 78 RESTORE100:RETURN
  80. 79 RESTORE101:RETURN
  81. 80 RESTORE102:RETURN
  82. 81 RESTORE103:RETURN
  83. 82 RESTORE104:RETURN
  84. 83 RESTORE105:RETURN
  85. 84 RESTORE106:RETURN
  86. 85 V=P(PP-(P-17)/2):X=VMOD13:D=29+(P-17)/2:RETURN:END
  87. 86 CLS:P=17:FORI=1TO29:X=C(I)MOD13:PRINT@D(I)+1,MID$(C$,X+1,1);:PRINTCHR$(156+C(I)MOD4):GOSUB88:NEXT:PRINTES$"V";
  88. 87 GOSUB91:PRINT@D(29)-80,24:PRINT@D(30)-80,0
  89. 88 X=(D(I)MOD40)*6:Y=8*(D(I)\40)-4:LINE(X,Y)-(X+23,Y+15),1,B:PRINT@27,"Esc to Quit":PT=24:P1=24:PRINT@67,"R - Replay
  90. 89 PP=1:P2=0:PRINT@107,"N - New Game":PA=1
  91. 90 PRINT@392,"Pass"PA;:RETURN
  92. 91 PRINT@596+P*2,P$:RETURN
  93. 92 PRINT@D(29)-80,ES$"K"P1:PRINT@D(30)-80,P2:IFP1=0THEN61
  94. 93 RETURN:DATA 1,8,9,15,16,17,22,23,24,25:DATA 29,30,31,32,33,36,37,38,39:DATA 40,41,43,44,45,46,47,48,49
  95. 94 DATA 43,0
  96. 95 DATA 36,0
  97. 96 DATA 44,29,0
  98. 97 DATA 37,22,0
  99. 98 DATA 45,30,15,0
  100. 99 DATA 38,23,8,0
  101. 100 DATA 46,31,16,1,0
  102. 101 DATA 39,24,9,0
  103. 102 DATA 47,32,17,0
  104. 103 DATA 40,25,0
  105. 104 DATA 48,33,0
  106. 105 DATA 41,0
  107. 106 DATA 49,0
  108.