5 REM Jeu realise par Stephane Burgoyne 6 REM Montreal TRS-80 M-100 BBS 7 REM CIS: [72747,1205] 8 REM 10 'Voici comment jouer: 12 ' vous jouez contre l'ordinateur 14 ' vous possedez au depart huit cartes choisies au hazard 16 ' vous devez vous debarrasser de vos cartes de la facon suivante: 18 ' 1- soit en jouant une carte de meme valeur que la precedente 20 ' 2- soit en mettant une carte de meme couleur que la precedente 22 ' 3- soit en jouant un huit de n'importe quelle couleur 24 ' vous etes oblige de jouer une carte repondant a une des 3 conditions 25 ' sinon, vous pigez une(des) carte(s) [F4] jusqu'a ce que vous pouvez jouer 26 ' les valets font perdre un tour a l'adversaire 28 ' les deux font piger deux cartes a l'adversaire 30 ' la partie est terminee lorsqu'un des joueurs n'a plus de cartes 32 ' NOTES: [CAPS LOCK] doit etre presse 33 ' la derniere carte jouee est dans le coin inferieur gauche 34 ' 36 ' EXEMPLE DE JEU: 38 ' vous avez en main: -AS de PIQUE 40 ' -3 de COEUR 42 ' -7 de TREFLE 44 ' -8 de CARREAU 46 ' 48 ' la derniere carte jouee est: 50 ' -7 de PIQUE 52 ' vous devez donc jouer l'AS ou le 7 54 ' ou 56 ' jouer le huit et changer la couleur en COEUR, TREFLE ou CARREAU 58 ' 60 'pour jouer l'AS de PIQUE: 62 ' PRESSEZ [A] et [F8] 63 ' 64 'les points sont calcules selon la valeur des cartes qui reste dans les 66 'mains de chaque joueur 68 ' 100 CLEAR400:DIMJO$(35),MO$(35),D$(52),U$(4),C$(13) 105 FORI=1TO4:READA:U$(I)=CHR$(A):NEXT 110 FORI=1TO13:READC$(I):NEXT 115 Z$="A2345678910JQK" 120 DATA 156,157,158,159,"A","2","3","4","5","6","7","8","9","10","J","Q","K" 310 CALL16959:CLS:KEY2,"FIN"+CHR$(13):KEY3,"":KEY4,"PIGE"+CHR$(13):KEY5,CHR$(156)+CHR$(13) 315 KEY6,CHR$(157)+CHR$(13):KEY7,CHR$(158)+CHR$(13):KEY8,CHR$(159)+CHR$(13) 350 FORJ=0TO12:FORI=1TO4:D$(I+J*4)=C$(J+1)+U$(I):NEXTI:NEXTJ 440 FORK=1TO(VAL(RIGHT$(TIME$,2))):I=RND(1):NEXT 450 JO=8:MO=8:B=1 460 D=53:FORI=1TO8:GOSUB1050:JO$(I)=X$:NEXTI 465 FORI=9TO35:JO$(I)="":NEXT 470 FORI=1TO8:GOSUB1050:MO$(I)=X$ 471 NEXTI 475 FORI=9TO35:MO$(I)="":NEXT 480 GOSUB1050:C$=X$ 490 CLS:PRINT"La premi"+CHR$(189)+"re carte est: ";C$:KEY1," "+C$+STRING$(3,8):SCREEN0,1 750 IF(JO=0)OR(MO=0)OR(B=0)THEN800ELSEGOSUB5000:PRINT 780 IF(JO<>0)AND(MO<>0)THENGOSUB6000:PRINT:GOTO750 800 C1=0:C2=0 810 IFMO=0THEN820ELSECLS:PRINT"J'ai en main :"; 811 FORI=1TOMO:PRINTMO$(I);" ";:GOSUB1100:IFZ>10THENZ=10 815 C1=C1+Z:NEXT:PRINTELSECLS 820 IFJO<>0THENPRINT"Tu as en main:";:FORI=1TOJO:PRINTJO$(I);" ";:GOSUB825:C2=C2+Z:NEXT:PRINT 821 GOTO830 825 Z=INSTR(1,Z$,LEFT$(JO$(I),1)):IFZ>10THENZ=10:RETURNELSERETURN 830 IFC1=0THEN850ELSEIFC1>=C2THENC1=C1-C2:C2=0:GOTO850ELSEC2=C2-C1:C1=0 850 S1=S1+C1:S2=S2+C2 870 PRINT"Ton pointage :";C1:PRINT"Mon pointage :";C2 890 IFC2 pour continuer";:CALL17005:CALL24367:RETURN 1050 D=D-1:X=INT(D*RND(1)+1):X$=D$(X):D$(X)=D$(D):D$(D)="":RETURN 1100 Z=INSTR(1,Z$,LEFT$(MO$(I),1)):RETURN 1200 FORW=1TO750:NEXT:RETURN 1250 PRINT@0,STRING$(80,32):PRINT@240,STRING$(80,32):RETURN 5000 PRINT@80,STRING$(160,32) 5010 PRINT@80,"Tu as en main: ";:FORI=1TOJO:PRINTJO$(I);" ";:NEXT:PRINT 5011 IFD<1THENKEY4,"NON"+CHR$(13):INPUT"Peux-tu jouer ";RP$:GOTO5030 5020 LINEINPUT"A toi de jouer: ";RP$ 5030 GOSUB1250:IFRP$="PIGE"ORRP$="NON"THEN5040ELSEIFRP$="FIN"THEN810ELSE5070 5040 IFD>1THEN5060 5045 IFD=1THENPRINT@240,STRING$(4,255)+" Il ne reste plus de cartes "+STRING$(4,255):D=0:GOTO5000 5050 PRINT@240,STRING$(4,255)+" Tu es bloqu"+CHR$(187)+" "+STRING$(4,255):B=0:GOSUB1200:RETURN 5060 JO=JO+1:GOSUB1050:JO$(JO)=X$:GOTO5000 5070 IF((LEFT$(RP$,1)=LEFT$(C$,1))OR(RIGHT$(RP$,1)=RIGHT$(C$,1)))OR(LEFT$(RP$,1)="8")THEN5080 5071 PRINT@240,STRING$(4,255)+" Ill"+CHR$(187)+"gal "+STRING$(4,255):GOTO5000 5080 FORI=1TOJO:IFRP$=JO$(I)THEN5090 5081 NEXT:PRINT@240,STRING$(3,255)+" Tu ne poss"+CHR$(189)+"des pas cette carte "+STRING$(4,255):GOTO5000 5090 C$=RP$:KEY1," "+C$+STRING$(4,8):FORJ=ITOJO+1:JO$(J)=JO$(J+1):NEXT:JO=JO-1:Z7$=LEFT$(RP$,1) 5091 IFJO=0THENRETURNELSEIFZ7$="8"THEN5100ELSEIFZ7$="J"THEN5300ELSEIFZ7$="2"THEN5400ELSERETURN 5100 INPUT"******* Quelle couleur";S9$ELSERETURN 5110 FORI=1TO4:IFS9$=U$(I)THEN:C$=S9$:KEY1," "+C$+STRING$(2,8):RETURN 5120 NEXTI:PRINT@200,STRING$(7,255)+" ";S9$;" n'est pas une couleur "+STRING$(3,255):CALL16979:GOTO5100 5300 PRINT@240,STRING$(7,255)+" Je perd mon tour":GOSUB1200:GOSUB1250:GOTO5000 5400 IFD=0THENRETURNELSEPRINT@240,STRING$(7,255)+" Je piges deux cartes":GOSUB1200:GOSUB1250 5410 FORI=1TO2:IFD>1THENMO=MO+1:GOSUB1050:MO$(MO)=X$:NEXT:RETURN 5420 PRINT@240,"Il ne reste plus de cartes":D=0:GOSUB1200:GOSUB1250:RETURN 6000 IFJO<4THEN6300 6002 FORI=1TOMO:IF((RIGHT$(MO$(I),1)=RIGHT$(C$,1))AND(LEFT$(MO$(I),1)<>"8"))THEN6160ELSENEXT 6005 FORI=1TOMO:IF(LEFT$(MO$(I),1)=LEFT$(C$,1))THEN6160ELSENEXT 6010 FORI=1TOMO:IF(LEFT$(MO$(I),1)="8")THEN6160ELSENEXT 6070 IFD>1THEN6080ELSEPRINT"Il n'y a plus de cartes. Je suis bloqu"+CHR$(187):D=0:GOSUB1200:GOSUB1250:RETURN 6080 MO=MO+1:I=MO:GOSUB1050:MO$(MO)=X$:GOTO6000 6160 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"; 6161 IF(LEFT$(C$,1)<>"8")THENPRINT" et je joue :";C$:KEY1," "+C$+STRING$(4,8)ELSE6205 6170 IF(LEFT$(C$,1)="J")THEN6400ELSEIF(LEFT$(C$,1)="2")THEN6410ELSERETURN 6205 FORI=1TO4:B(I)=0:NEXT 6210 FORI=1TOMO:IF RIGHT$(MO$(I),1)=CHR$(156)THENB(1)=B(1)+1:NEXT:goto6213 6211 IFRIGHT$(MO$(I),1)=CHR$(157)THENB(2)=B(2)+1:NEXT:goto6213 6212 IFRIGHT$(MO$(I),1)=CHR$(158)THENB(3)=B(3)+1:NEXTELSEB(4)=B(4)+1:NEXT 6213 E=1:FORI=1TO3:IFB(1)1THENJO=JO+1:GOSUB1050:JO$(JO)=X$:NEXT:RETURN 6425 PRINT@240,"Il ne reste plus de cartes":D=0:RETURN