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

  1. 0 ' HUIT.BA - BY S. BURGOYNE
  2. 1 ' CLUB 100 LIBRARY - 415/939-1246 BBS,    937-5039 NEWSLETTER, 932-8856 VOICE
  3. 2 ' Jeu realise par Stephane Burgoyne
  4. 3 '   Montreal TRS-80 M-100 BBS
  5. 4 '
  6. 5 'Voici comment jouer:
  7. 6 '  vous jouez contre l'ordinateur
  8. 7 '  vous possedez au depart huit cartes choisies au hazard
  9. 8 '  vous devez vous debarrasser de vos cartes de la facon suivante:
  10. 9 '    1- soit en jouant une carte de meme valeur que la precedente
  11. 10 '    2- soit en mettant une carte de meme couleur que la precedente
  12. 11 '    3- soit en jouant un huit de n'importe quelle couleur
  13. 12 '  vous etes oblige de jouer une carte repondant a une des 3 conditions
  14. 13 '  sinon, vous pigez une(des) carte(s) [F4] jusqu'a ce que vous pouvez jouer
  15. 14 '  les valets font perdre un tour a l'adversaire
  16. 15 '  les deux font piger deux cartes a l'adversaire
  17. 16 '  la partie est terminee lorsqu'un des joueurs n'a plus de cartes
  18. 17 '  NOTES:  [CAPS LOCK] doit etre presse
  19. 18 '          la derniere carte jouee est dans le coin inferieur gauche
  20. 19 ' 
  21. 20 ' EXEMPLE DE JEU:
  22. 21 ' vous avez en main: -AS de PIQUE
  23. 22 '            -3  de COEUR
  24. 23 '            -7  de TREFLE
  25. 24 '            -8  de CARREAU
  26. 25 '
  27. 26 ' la derniere carte jouee est:
  28. 27 '            -7  de PIQUE
  29. 28 ' vous devez donc jouer l'AS ou le 7
  30. 29 '     ou
  31. 30 ' jouer le huit et changer la couleur en COEUR, TREFLE ou CARREAU
  32. 31 '
  33. 32 'pour jouer l'AS de PIQUE:
  34. 33 '   PRESSEZ  [A] et [F8]
  35. 34 '
  36. 35 'les points sont calcules selon la valeur des cartes qui reste dans les 
  37. 36 'mains de chaque joueur
  38. 37 '
  39. 38 CLEAR400:DIMJO$(35),MO$(35),D$(52),U$(4),C$(13):FORI=1TO4:READA:U$(I)=CHR$(A):NEXT:FORI=1TO13:READC$(I):NEXT:Z$="A2345678910JQK":DATA 156,157,158,159,"A","2","3","4","5","6","7","8","9","10","J","Q","K"
  40. 39 CALL16959:CLS:KEY2,"FIN"+CHR$(13):KEY3,"":KEY4,"PIGE"+CHR$(13):KEY5,CHR$(156)+CHR$(13):KEY6,CHR$(157)+CHR$(13):KEY7,CHR$(158)+CHR$(13):KEY8,CHR$(159)+CHR$(13):FORJ=0TO12:FORI=1TO4:D$(I+J*4)=C$(J+1)+U$(I):NEXTI:NEXTJ:FORK=1TO(VAL(RIGHT$(TIME$,2)))
  41. 40 I=RND(1):NEXT:JO=8:MO=8:B=1:D=53:FORI=1TO8:GOSUB57:JO$(I)=X$:NEXTI:FORI=9TO35:JO$(I)="":NEXT:FORI=1TO8:GOSUB57:MO$(I)=X$:NEXTI:FORI=9TO35:MO$(I)="":NEXT:GOSUB57:C$=X$:CLS:PRINT"La premi"+CHR$(189)+"re carte est: ";C$:KEY1," "+C$+STRING$(3,8)
  42. 41 SCREEN0,1
  43. 42 IF(JO=0)OR(MO=0)OR(B=0)THEN44ELSEGOSUB61:PRINT
  44. 43 IF(JO<>0)AND(MO<>0)THENGOSUB79:PRINT:GOTO42
  45. 44 C1=0:C2=0
  46. 45 IFMO=0THEN48ELSECLS:PRINT"J'ai en main :";
  47. 46 FORI=1TOMO:PRINTMO$(I);" ";:GOSUB58:IFZ>10THENZ=10
  48. 47 C1=C1+Z:NEXT:PRINT::CLS
  49. 48 IFJO<>0THENPRINT"Tu as en main:";:FORI=1TOJO:PRINTJO$(I);" ";:GOSUB50:C2=C2+Z:NEXT:PRINT
  50. 49 GOTO51
  51. 50 Z=INSTR(1,Z$,LEFT$(JO$(I),1)):IFZ>10THENZ=10:RETURNELSERETURN
  52. 51 IFC1=0THEN52ELSEIFC1>=C2THENC1=C1-C2:C2=0:GOTO52ELSEC2=C2-C1:C1=0
  53. 52 S1=S1+C1:S2=S2+C2:PRINT"Ton pointage :";C1:PRINT"Mon pointage :";C2:IFC2<C1THENPRINT"Tu as gagn"+CHR$(187):N1=N1+1:GOTO54
  54. 53 IFC1<C2THENPRINT"J'ai gagn"+CHR$(187)ELSEPRINT"Partie nulle"
  55. 54 PRINT:N3=N3+1:KEY2,"":KEY3,"OUI"+CHR$(13):KEY4,"NON"+CHR$(13):INPUT"Veux-tu rejouer(OUIouNON)";RP$:IFRP$="OUI"THEN39
  56. 55 CALL16964:PRINT:PRINT"Sur ";N3;" parties tu en as gagn"+CHR$(187)+" ";N1;".":PRINT"Ton pointage total est ";S1;" le mien est ";S2:CALL23164,0,23366:CALL27795:KEY7,"Edit"+CHR$(13):SCREEN0,0:CLEAR:END:CALL17001:PRINT"Pesez <espace> pour continuer";
  57. 56 CALL17005:CALL24367:RETURN
  58. 57 D=D-1:X=INT(D*RND(1)+1):X$=D$(X):D$(X)=D$(D):D$(D)="":RETURN
  59. 58 Z=INSTR(1,Z$,LEFT$(MO$(I),1)):RETURN
  60. 59 FORW=1TO750:NEXT:RETURN
  61. 60 PRINT@0,STRING$(80,32):PRINT@240,STRING$(80,32):RETURN
  62. 61 PRINT@80,STRING$(160,32):PRINT@80,"Tu as en main: ";:FORI=1TOJO:PRINTJO$(I);" ";:NEXT:PRINT:IFD<1THENKEY4,"NON"+CHR$(13):INPUT"Peux-tu jouer ";RP$:GOTO63
  63. 62 LINEINPUT"A toi de jouer: ";RP$
  64. 63 GOSUB60:IFRP$="PIGE"ORRP$="NON"THEN64ELSEIFRP$="FIN"THEN45ELSE68
  65. 64 IFD>1THEN67
  66. 65 IFD=1THENPRINT@240,STRING$(4,255)+" Il ne reste plus de cartes "+STRING$(4,255):D=0:GOTO61
  67. 66 PRINT@240,STRING$(4,255)+" Tu es bloqu"+CHR$(187)+" "+STRING$(4,255):B=0:GOSUB59:RETURN
  68. 67 JO=JO+1:GOSUB57:JO$(JO)=X$:GOTO61
  69. 68 IF((LEFT$(RP$,1)=LEFT$(C$,1))OR(RIGHT$(RP$,1)=RIGHT$(C$,1)))OR(LEFT$(RP$,1)="8")THEN70
  70. 69 PRINT@240,STRING$(4,255)+" Ill"+CHR$(187)+"gal "+STRING$(4,255):GOTO61
  71. 70 FORI=1TOJO:IFRP$=JO$(I)THEN72
  72. 71 NEXT:PRINT@240,STRING$(3,255)+" Tu ne poss"+CHR$(189)+"des pas cette carte "+STRING$(4,255):GOTO61
  73. 72 C$=RP$:KEY1," "+C$+STRING$(4,8):FORJ=ITOJO+1:JO$(J)=JO$(J+1):NEXT:JO=JO-1:Z7$=LEFT$(RP$,1):IFJO=0THENRETURNELSEIFZ7$="8"THEN73ELSEIFZ7$="J"THEN75ELSEIFZ7$="2"THEN76ELSERETURN
  74. 73 INPUT"******* Quelle couleur";S9$::RETURN:FORI=1TO4:IFS9$=U$(I)THEN:C$=S9$:KEY1," "+C$+STRING$(2,8):RETURN
  75. 74 NEXTI:PRINT@200,STRING$(7,255)+" ";S9$;" n'est pas une couleur "+STRING$(3,255):CALL16979:GOTO73
  76. 75 PRINT@240,STRING$(7,255)+" Je perd mon tour":GOSUB59:GOSUB60:GOTO61
  77. 76 IFD=0THENRETURNELSEPRINT@240,STRING$(7,255)+" Je piges deux cartes":GOSUB59:GOSUB60
  78. 77 FORI=1TO2:IFD>1THENMO=MO+1:GOSUB57:MO$(MO)=X$:NEXT:RETURN
  79. 78 PRINT@240,"Il ne reste plus de cartes":D=0:GOSUB59:GOSUB60:RETURN
  80. 79 IFJO<4THEN92
  81. 80 FORI=1TOMO:IF((RIGHT$(MO$(I),1)=RIGHT$(C$,1))AND(LEFT$(MO$(I),1)<>"8"))THEN85ELSENEXT
  82. 81 FORI=1TOMO:IF(LEFT$(MO$(I),1)=LEFT$(C$,1))THEN85ELSENEXT
  83. 82 FORI=1TOMO:IF(LEFT$(MO$(I),1)="8")THEN85ELSENEXT
  84. 83 IFD>1THEN84ELSEPRINT"Il n'y a plus de cartes. Je suis bloqu"+CHR$(187):D=0:GOSUB59:GOSUB60:RETURN
  85. 84 MO=MO+1:I=MO:GOSUB57:MO$(MO)=X$:GOTO79
  86. 85 B=1:C$=MO$(I):MO$(I)="":FORJ=ITOMO+1:MO$(J)=MO$(J+1):NEXT:MO=MO-1:CLS:PRINT"Il me reste ";MO+1;" cartes";:IF(LEFT$(C$,1)<>"8")THENPRINT" et je joue :";C$:KEY1," "+C$+STRING$(4,8)ELSE87
  87. 86 IF(LEFT$(C$,1)="J")THEN93ELSEIF(LEFT$(C$,1)="2")THEN95ELSERETURN
  88. 87 FORI=1TO4:B(I)=0:NEXT:FORI=1TOMO:IF RIGHT$(MO$(I),1)=CHR$(156)THENB(1)=B(1)+1:NEXT:GOTO90
  89. 88 IFRIGHT$(MO$(I),1)=CHR$(157)THENB(2)=B(2)+1:NEXT:GOTO90
  90. 89 IFRIGHT$(MO$(I),1)=CHR$(158)THENB(3)=B(3)+1:NEXTELSEB(4)=B(4)+1:NEXT
  91. 90 E=1:FORI=1TO3:IFB(1)<B(I+1)THENE=I+1:B(1)=B(I+1):NEXTELSENEXT
  92. 91 PRINT" et je joue :";C$:PRINT"La nouvelle couleur est: ";U$(E):KEY1," "+U$(E)+STRING$(2,8):C$="8"+U$(E):RETURN
  93. 92 CL$=LEFT$(C$,1):CR$=RIGHT$(C$,1):FORI=1TOMO:ML$=LEFT$(MO$(I),1):MR$=RIGHT$(MO$(I),1):IF((MR$=CR$)AND(ML$="2"ORML$="J"))OR((ML$="2"ORML$="J")AND(ML$=CL$))THEN85ELSENEXT:GOTO80
  94. 93 IFMO=0THENRETURNELSEIFLEFT$(C$,1)="2"THEN95
  95. 94 PRINT@240,STRING$(3,255)+" Tu perds ton tour "+STRING$(3,255):GOSUB59:GOTO79
  96. 95 IFMO=0ORD=0THENRETURNELSEPRINT@240,STRING$(7,255)+" Tu piges deux cartes":GOSUB59:GOSUB60
  97. 96 FORI=1TO2:IFD>1THENJO=JO+1:GOSUB57:JO$(JO)=X$:NEXT:RETURN
  98. 97 PRINT@240,"Il ne reste plus de cartes":D=0:RETURN
  99.