mariages pour Sharp PC1500 ( pas de programme ) tiré du magazine Hebdogiciel N°93 http://www.hebdogiciel.fr Bon Jeu ! Ouessan / Chistian DUBROEUCQ Nécessite l'extension PETOOLS. Réveillez, par ce jeu des similitudes, votre intuition endormie. Mode d'emploi : Choisissez au départ le nombre de lignes ( 1 à 9 ) où seront dissimulées six formes. Rentrez ensuite le nombre de joueurs ( 4 maximum ) ainsi que leur nom. 6 rectangles noirs apparaissent, ainsi que le numéro de rangée que vous pouvez changer par les flèches haut, bas. Découvrez ce que cache ces rectangles par les touches de réservation et tentez de réussir vos mariages. Programme : 1 REM jeu des mariages 2 REM clavreul gérard - PC1500 3 DATA "185C7E7F7E5C18" 5 DATA "085C4A7F4A5C08" 7 DATA "081C3E7F3E1C08" 9 DATA "0E1F3F7E3F1F0E" 11 DATA "552A552A552A55" 13 DATA "0808087F080808" 15 DATA "7F49497F49497F" 17 DATA "7F415D555D417F" 19 DATA "1C08497F49081C" 21 DATA "7F55555555557F" 23 DATA "7F41495D49417F" 25 DATA "7F417F417F417F" 27 DATA "7F557F557F557F" 29 DATA "7F7F636B637F7F" 31 DATA "08142249221408" 33 DATA "7F417F087F417F" 35 DATA "7755555D555577" 37 DATA "77777700777777" 39 DATA "553E6322633E55" 41 DATA "7F556B556B557F" 43 DATA "492A1C7F1C2A49" 45 DATA "437A0A3E282F61" 47 DATA "7F63495549637F" 49 DATA "1C14774177141C" 51 DATA "6E6A7B417B6A6E" 53 DATA "77557708775577" 55 DATA "7F417F557F417F" 100 "A":GOSUB "initial" 110 J=1:L=1 120 GOSUB "coup du joueur" 130 IF LEFT$(FC$(1),7)=LEFT$(FC$(2),7) GOTO 170 140 BEEP 1:PRINT "dommage ";P$(J):WAIT 0 150 J=J+1:IF J>NJ LET J=1:GOTO 120 160 GOTO 120 170 P(J)=P(J)+1 180 BEEP 3:PRINT "bravo ":P$(J);P(J) 190 NC=NC+1 200 IF NC=XF/2 GOTO 220 210 FV$(L(1),T(1))="":FV$(L(2),T(2))=33:GOTO 120 220 BEEP 5:WAIT 100:PRINT "résultats" 230 WAIT:PRINT "pour ";XF/2;" mariages" 240 PRINT CP;" coups joués" 250 FOR I=1 TO NJ 260 PRINT P$(I);" -> ";P(I);" point(s)" 270 NEXT I 280 END 300 "initial":REM initialisation 310 WAIT:CLS:CURSOR 4:PRINT "jeu des mariages" 320 RESTORE:CLEAR:CLS:WAIT 0:ND=27 330 INPUT "nbre rangées (1 à 9) = ";NR 340 NF=NR*6:XF=NF 350 IF NR<1 OR NR>9 BEEP 2:GOTO 330 360 CLS:CURSOR 2:PRINT "un instant..., s.v.p." 370 DIM FR$(NR,6)*22,FV$(NR,6)*22,TF$(ND)*14,FC$(2)*22 380 DIM L(2),T(2),FP$(NF)*22 400 REM lecture des formes 410 FOR I=1 TO ND 420 READ TF$(I) 430 NEXT I 500 REM tri des formes 510 FP=NF/2:FOR I=1 TO FP 520 RANDOM:X=RND ND 530 FP$((I*2)-1)=TF$(X)+"001C141C" 540 FP$(I*2)=TF$(X)+"001C1C1C" 550 IF X=ND GOTO 590 560 FOR J=X TO ND-1 570 TF$(J)=TF$(J+1) 580 NEXT J 590 ND=ND-1 600 NEXT I 700 REM répartition des formes 710 FOR L=1 TO NR 720 FOR C=1 TO 6 730 RANDOM:X=RND NF 740 FR$(L,C)=FP$(X):FU$(L,C)="7F7F7F7F7F7F7F7F7F7F7F" 750 IF X=NF GOTO 790 760 FOR I=X TO NF-1 770 FP$(I)=FP$(I+1) 780 NEXT I 790 NF=NF-1 800 NEXT C 810 NEXT L 900 REM prénom des joueurs 910 BEEP 1:INPUT "nombre de joueurs = ";NJ 920 IF NJ<1 OR NJ>4 BEEP 2:GOTO 910 930 DIM P$(NJ),P(NJ) 940 FOR I=1 TO NJ 950 BEEP 1:WAIT 0:CLS:PRINT "joueur N°";I;" = ";:INPUT P$(I) 960 IF P$(I)="" GOTO 950 970 NEXT I 980 RETURN 1000 "coup du joueur" REM "coup de chaque joueur" 1010 CP=CP+1 1020 CLS:BEEP 2:WAIT 100:PRINT "à toi ";P$(J) 1030 GOSUB "affich v" 1040 REM choix 1ère rangée 1050 R=1 1060 GOSUB "test touche" 1070 REM choix 2ème rangée 1080 R=2 1090 GOSUB "test touche" 1100 RETURN 1500 "1ère rangée"REM recherche 1ère rangée 1510 GOSUB "test touche" 2000 "test touche"REM recherche dernière touche enfoncée 2010 IF (INKEY$=CHR$ 10) OR (INKEY$=CHR$ 11) GOTO 2050 2020 FOR I=17 TO 22:IF INKEY$=CHR$(I) BEEP 1:GOTO 2090 2030 NEXT I 2040 GOTO 2010 2050 IF INKEY$=CHR$(10) LET L=L+1:BEEP 1 2060 IF INKEY$=CHR$(11) LET L=L-1:BEEP 1 2070 GOSUB "affich v" 2080 GOTO 2010 2090 T=ASC INKEY$:T=T-16 2100 IF T<0 GOTO 2010 2110 IF FV$(L,T)="" BEEP 2:GOTO 2010 2120 IF ((L=L(1) AND T=T(1))) AND R=2 BEEP 2:GOTO 2010 2130 FV$(L,T)=FR$(L,T) 2140 FC$(R)=FR$(L,T) 2150 L(R)=L:T(R)=T 2160 GOSUB "affich v" 2170 FV$(L,T)="7F7F7F7F7F7F7F7F7F7F7F" 2180 RETURN 2500 "affich v":REM affichage des formes (verso) 2510 IF L=0 LET L=1 2520 IF L=NR+1 LET L=NR 2530 CU=-16 2540 WAIT 0:CLS 2550 FOR C=1 TO 6 2560 CU=CU+24 2570 GCURSOR CU 2580 GPRINT FV$(L,C) 2590 NEXT C 2600 IF R=2 WAIT 100 2610 CURSOR 24:PRINT L 2620 RETURN