User Tools

Site Tools


en:reussite

REUSSITE

Info

Author Par Kamal Ouazene
Computer Amstrad PCW 8256 / 8512 / 9512
Year 1989
Gender Cards
Controls Keyboard
Languages French
Status Preserved

Screenshots

Description

REUSSITE is a card game where you just have to be patient and smart to… succeed. The rules are contained in the program. A little clarification: the objective of the game is to place, to the right of the ACE, all the other cards (from 7 to KING) respecting the order of the values.

Therefore, to win, you must have 4 lines made up of: ACE, 7, 8, 9, 10, JACK, QUEEN and KING. This applies to simple success.

If you choose mixed success, each line must include only cards of the same color. You only have the right to place a card to the right of another whose value is immediately lower.

Play

To move a card, you will need to use the cursor arrows to choose a card on the screen, select it (it will appear in reverse video), press <ENTER>, move the cursor to the chosen location and press <ENTER> again.

Menu

You have successfully entered and saved, in BASIC, REUSSITE.BAS: type RUN“REUSSITE” <RETURN>. After a few seconds, the PCW will ask if you want to see the rules. Don't respond too quickly because your wait determines the random element (take the opportunity to warm up your fingers!).

Next, the game screen appears, with a menu that allows you to <C> load an interrupted game, save a game with <S>, know the “game files” present in the <D> directory, cowardly quit the game with <EXIT> (if you're at a dead end…). When you think you've succeeded, type <V> to verify.

If you make a mistake, 5 penalty points. It's up to you…

Listing

  • Listing - REUSSITE.BAS
10 REM ********************************* 
20 REM * REUSSITE : Par Kamal OUAZENE  *
30 REM *    (c) LOGI'STICK - 1989      *
40 REM *********************************
50 RESTORE
60 ON ERROR GOTO 1540
70 REM * GRAPHIQUE DES CARTES *
80 FOR NN=&HC070 TO &HC098:READ d8:POKE NN,d8:NEXT
90 DATA 243,62,129,211,241,62,130,211,242,175,95,103,22,184,58,153,192,111,41,41,41,25,17,154,192,235,1,8,0,237,176,62,133,211,241,62,134,211,242,251,201
100 FOR N=200 TO 211
110 FOR AP=1 TO 8:POINTS(AP)=0:READ DATBIN(AP):POINTS(AP)=POINTS(AP)+DATBIN(AP):NEXT
120 POKE &HC099,N:FOR OUTPUT=1 TO 8:POKE &HC099+OUTPUT,(POINTS(OUTPUT)):NEXT:C=&HC070:CALL C
130 NEXT N
140 DATA 24,56,8,8,28,0,0,0
150 DATA 124,2,2,30,2,2,0,0
160 DATA 60,66,60,66,66,60,0,0
170 DATA 60,66,62,2,60,0,0,0
180 DATA 76,82,82,82,82,76,0,0
190 DATA 66,66,36,36,24,0,0,0
200 DATA 124,66,66,66,124,0,0,0
210 DATA 124,66,66,124,80,72,0,0
220 DATA 0,54,127,127,127,62,28,8
230 DATA 0,8,28,62,127,107,8,28
240 DATA 0,28,28,107,127,107,28,28
250 DATA 0,8,28,62,127,62,28,8
260 FOR N=1 TO 8:N$(N)=CHR$(199+N):NEXT:FOR M=1 TO 4:C$(M)=CHR$(199+N):N=N+1:NEXT
270 RC$=CHR$(10)+STRING$(3,8):FOR N=1 TO 8:FOR M=1 TO 4:CA$(M,N)=N$(N)+" "+N$(N)+CHR$(10)+STRING$(3,8)+STRING$(3,C$(M))+RC$+" "+C$(M)+" ":NEXT:NEXT:CA$(0,0)="   "+RC$+"   "+RC$+"   "
280 E$=CHR$(27):DEF FNloc$(X,Y)=E$+"Y"+CHR$(32+X)+CHR$(32+Y):IN$=e$+"p":NO$=e$+"q":CL$=E$+"E"+E$+"H"
290 DIM JEC(32),JEN(32)
300 REM *** DEBUT ***
310 PRINT CL$E$"f"
320 PRINT "SI VOUS DESIREZ LES REGLES, TAPEZ R ..."
330 A=A+1:A$=INKEY$:IF A$="" THEN 330
340 RANDOMIZE A+ASC(A$)
350 IF A$="R" THEN GOSUB 1570
360 PRINT CL$
370 PRINT FNloc$(0,25)"R E U S S I T E"
380 H$=CHR$(150)+STRING$(3,154)+CHR$(156)+" ":FOR P=1 TO 9:LH$=LH$+H$:NEXT
390 M$=CHR$(149)+"   "+CHR$(149)+" ":FOR P=1 TO 9:LM$=LM$+M$:NEXT
400 B$=CHR$(147)+STRING$(3,154)+CHR$(153)+" ":FOR P=1 TO 9:LB$=LB$+B$:NEXT
410 GOSUB 1110:PRINT FNloc$(0,0)
420 GOSUB 720
430 FOR N=1 TO 8:FOR M=1 TO 4
440 F=F+1:JEN(F)=N:JEC(F)=M
450 NEXT:NEXT
460 GOSUB 790
470 PRINT FNloc$(3,4)"MELANGE DES CARTES..."
480 FOR Z=1 TO 100
490 A=RND(1)*31+1:B=RND(1)*31+1:SWAP JEN(A),JEN(B):SWAP JEC(A),JEC(B)
500 NEXT:GOSUB 790
510 F=0:A=0:FOR N=1 TO 8:FOR M=1 TO 4
520 F=F+1:IF JEN(F)=1 THEN A=A+1:PRINT CHR$(7);FNloc$(5*A+1,6)CA$(JEC(F),JEN(F)):SVA(A)=JEC(F):JEN(F)=0:JEC(F)=0
530 NEXT:NEXT
540 GOSUB 790:PRINT FNloc$(3,4)"A VOUS DE JOUER..."
550 M=1:N=1:F=1
560 AF$=FNloc$(M*5+1,(N+1)*6)+CA$(JEC(F),JEN(F)):PRINT IN$AF$NO$
570 A$=INKEY$:IF A$="" THEN 570
580 A=ASC(A$):IF F=F2 THEN PRINT IN$
590 IF A=1 AND N>1 THEN PRINT AF$NO$:N=N-1:F=F-4:GOTO 560
600 IF A=6 AND N<8 THEN PRINT AF$NO$:N=N+1:F=F+4:GOTO 560
610 IF A=30 AND M<4 THEN PRINT AF$NO$:M=M+1:F=F+1:GOTO 560
620 IF A=31 AND M>1 THEN PRINT AF$NO$:M=M-1:F=F-1:GOTO 560
630 IF A=13 AND JEN(F)=0 AND I<>1 OR F2=F AND I=1 THEN PRINT STRING$(10,7)NO$AF$:I=0:F2=0:GOTO 560
640 IF A=13 THEN IF I=1 THEN 850 ELSE I=1:F2=F:M2=M:N2=N:GOTO 570
650 IF A=27 THEN PRINT CL$E$+"e":PRINT " VOUS N'ETES PAS PARVENU A SORTIR DE L'ENFER DE LA REUSSITE. AH AH AH !!! ":END
660 IF A$="S" THEN 900
670 IF A$="C" THEN 1000
680 IF A$="V" THEN 1150
690 IF A$="D" THEN 1480
700 PRINT CHR$(7):GOTO 560
710 REM * AFFICHAGE TABLEAU *
720 FOR N=1 TO 4
730 PRINT FNloc$(N*5,5)LH$
740 FOR P=1 TO 3:PRINT FNloc$(N*5+P,5)LM$:NEXT
750 PRINT FNloc$(N*5+4,5)LB$
760 NEXT
770 RETURN
780 REM * AFFICHAGE CARTE *
790 F=0:FOR N=1 TO 8:FOR M=1 TO 4
800 F=F+1:PRINT FNloc$(M*5+1,(N+1)*6)CA$(JEC(F),JEN(F))
810 NEXT:NEXT
820 PRINT FNloc$(25,63)"POINTS :";POI
830 RETURN
840 REM * DEPLACEMENT CARTES *
850 POI=POI+1:I=0
860 I=0:IF F<5 THEN IF JEN(F2)=2 THEN 880 ELSE PRINT STRING$(15,7):PRINT FNloc$(M2*5+1,(N2+1)*6);CA$(JEC(F2),JEN(F2)):GOTO 560
870 IF (JEC(F)<>0 AND JEN(F)<>0) OR JEN(F2)-JEN(F-4)<>1 OR (JEC(F)=JEC(F2) AND JEN(F)=JEN(F2)) THEN PRINT STRING$(15,7):PRINT FNloc$(M2*5+1,(N2+1)*6);CA$(JEC(F2),JEN(F2)):GOTO 560
880 SWAP JEN(F),JEN(F2):SWAP JEC(F),JEC(F2):GOSUB 790:F=F2:M=M2:N=N2:PRINT FNloc$(25,63)"POINTS :";POI:F2=0:GOTO 560
890 REM * SAUVEGARDE *
900 PRINT CL$
910 PRINT " NOM DU FICHIER ( 8 LETTRES MAX. & SANS EXTENSION ) : ";:INPUT N$:N$=N$+".REU"
920 OPEN "O",1,N$
930 FOR G=1 TO 32
940 PRINT #1,JEC(G):PRINT #1,JEN(G)
950 NEXT
960 FOR G=1 TO 4:PRINT #1,SVA(G):NEXT
970 PRINT #1,POI:CLOSE
980 PRINT CL$;FNloc$(0,25)"R E U S S I T E":GOSUB 720:GOSUB 790:GOSUB 1100:GOSUB 1110:GOTO 550
990 REM * CHARGEMENT *
1000 PRINT CL$
1010 PRINT " NOM DU FICHIER :";:INPUT N$:N$=N$+".REU"
1020 OPEN "I",1,N$
1030 FOR G=1 TO 32
1040 INPUT #1,JEC(G):INPUT #1,JEN(G)
1050 NEXT
1060 FOR G=1 TO 4:INPUT #1,SVA(G):NEXT
1070 INPUT #1,POI:CLOSE
1080 GOTO 980
1090 REM * AFFICHAGE PARTIE DROITE *
1100 FOR A=1 TO 4:PRINT FNloc$(5*A+1,6)CA$(SVA(A),1):NEXT:RETURN
1110 FOR N=1 TO 29:PRINT FNloc$(N,60)CHR$(149):NEXT
1120 PRINT FNloc$(6,63)"EXIT : SORTIR";FNloc$(7,63)"S    : SAUVER";FNloc$(8,63)"C    : CHARGER";FNloc$(9,63)"D    : DIRECTORY";FNloc$(10,63)"V    : VERIFIER"
1130 RETURN
1140 REM * VERIFICATION *
1150 PRINT CL$"TENTEZ VOUS UNE REUSSITE :"
1160 PRINT:PRINT "1 - SIMPLE (NE PRENANT EN COMPTE QUE LES NUMEROS)"
1170 PRINT:PRINT "2 - PANACHEE (PRENANT EN COMPTE EGALEMENT LES COULEURS)"
1180 A$=INKEY$:IF A$="" THEN 1180
1190 A=VAL(A$):IF A=2 THEN 1350 
1200 IF A<>1 THEN 980
1210 F=0:FOR N=1 TO 7
1220 FOR M=1 TO 4
1230 F=F+1:IF M=4 THEN 1250
1240 IF JEN(F)<>JEN(F+1) THEN 1450
1250 NEXT:NEXT
1260 PRINT CL$;STRING$(20,7)"B R A V O ......":PRINT FNloc$(2,0)"VOUS GAGNEZ AVEC ";POI;" points"STRING$(20,7)
1270 IF FIND$("RECORD.PAT")="" THEN OPEN "O",1,"RECORD.PAT":PRINT #1,200:PRINT #1,"GERARD MENVUSSA":PRINT #1,"19 BRUMAIRE AN II":CLOSE
1280 OPEN "I",1,"RECORD.PAT":INPUT #1,REC:INPUT #1,N$:INPUT #1,D$:CLOSE:IF REC>POI THEN 1300
1290 PRINT POI;" : CE N'EST PAS ASSEZ POUR BATTRE LE RECORD !":RUN"MENU
1300 PRINT STRING$(25,7):FOR N=1 TO 10:PRINT CL$FNloc$(0,40)"T I L T";IN$FNLOC$(0,40)"T I L T";NO$;STRING$(5,7);:NEXT
1310 PRINT FNloc$(2,2)" VOUS BATTEZ LE RECORD DE ";REC;" POINTS ANCIENNEMENT DETENU PAR ";N$;" ( HONTE A CETTE PERSONNE ) ENREGISTRE LE "D$   
1320 PRINT:PRINT "ENTREZ VOTRE NOM : ";:INPUT N$
1330 PRINT "ENTREZ LA DATE : ";:INPUT D$
1340 KILL "RECORD.PAT":OPEN "O",1,"RECORD.PAT":PRINT #1,POI:PRINT #1,N$:PRINT #1,D$:CLOSE:RUN"MENU
1350 F=0:FOR N=1 TO 7
1360 FOR M=1 TO 4
1370 F=F+1:IF M=4 THEN 1390
1380 IF JEN(F)<>JEN(F+1) THEN 1450
1390 IF N=7 THEN 1410
1400 IF JEC(F)<>JEC(F+4) THEN 1450
1410 NEXT:NEXT
1420 FOR M=1 TO 4:IF JEC(28+M)<>0 AND JEN(28+M)<>0 THEN 1450
1430 NEXT
1440 GOTO 1260
1450 PRINT STRING$(25,7)CL$;"C'EST FAUX ... 5 POINTS DE PENALITE. ":POI=POI+5:FOR T=1 TO 2000:NEXT 
1460 GOTO 980
1470 REM * DIRECTORY *
1480 PRINT CL$
1490 DIR *.REU
1500 PRINT FNloc$(10,2)"PRESSEZ UNE TOUCHE POUR REVENIR.";
1510 A$=INKEY$:IF A$="" THEN 1510
1520 GOTO 980
1530 REM * TRAITEMENT DES ERREURS *
1540 IF ERR=53 THEN PRINT "FICHIER INEXISTANT ":FOR T=1 TO 200:NEXT:GOTO 980
1550 PRINT "ERREUR N[ ";ERR;" LIGNE N[ ";ERL:END
1560 REM * REGLES *
1570 PRINT CL$;"R E U S S I T E : R E G L E S"
1580 WHILE B$<>"?"
1590 READ A$
1600 FOR N=1 TO LEN(A$):B$=MID$(A$,N,1)
1610 IF B$="$" THEN READ X:PRINT FNloc$(X,0):GOTO 1590
1620 IF B$="=" THEN B$=":"
1630 IF B$=">" THEN B$=" "
1640 IF B$="#" THEN B$=","
1650 IF B$="?" THEN 1670
1660 PRINT B$;:NEXT
1670 WEND
1680 PRINT FNloc$(29,0)" APPUYEZ SUR UNE TOUCHE POUR REVENIR "
1690 B=B+1:B$=INKEY$:IF B$="" THEN 1690 
1700 RANDOMIZE A+B+ASC(A$)+ASC(B$):RETURN
1710 DATA $,3,LA REUSSITE (OU PATIENCE) EST UN JEU DE CARTES SE JOUANT AVEC 32 CARTES.$,4,AU DEBUT DU JEU# TOUTES LES CARTES SONT DEPOSEES# COTE VALEUR VISIBLE# EN 4 LIGNES DE 8   CARTES.$,6,LE BUT DU JEU EST D'ORDONNER LES QUATRES LIGNES# DES AS A
1720 DATA >GAUCHE AUX ROIS A DROITE.$,7,ON COMMENCE LE JEU EN SORTANT LES 4 AS DES LIGNES ET ON LES DISPOSE LES UNS AU DESSOUS DESAUTRES# A GAUCHE (LE PCW S'EN CHARGERA).$,9,DANS CHAQUE ESPACE LIBRE# LAISSE PAR UNE CARTE DEPLACEE (IL Y A 4 AS DONC
1730 DATA >4 CASES LIBRES)#VIENDRA UNE AUTRE CARTE DONT LA VALEUR EST IMMEDIATEMENT SUPERIEURE A CELLE DE GAUCHE (EX=ON POURRA METTRE UN 9 A DROITE D'UN 8 OU UN VALET A DROITE D'UN 10). C'EST DIRE QUE# A    DROITE D'UN ROI# AUCUNE CARTE NE PEUT         
1740 DATA >ETRE PLACEE.$,13,SI VOUS CHOISISSEZ UNE PATIENTE PANACHEE VOUS DEVREZ CLASSER LES CARTES SELON LEUR VALEUR MAIS AUSSI SELON LEUR COULEUR (CHAQUE LIGNE DEVRA COMPORTER UNIQUEMENT DES CARTES DE MEME COULEUR).
1750 DATA $,16,POUR DEPLACER UNE CARTE# VOUS DEVREZ# A L'AIDE DES FLECHES CURSEURS# VOUS PLACER SUR LA   CARTE CHOISIE (ELLE APPARAIT EN VIDEO INVERSE)# APPUYER SUR ENTER# DEPLACER LE CURSEUR    JUSQU'A L'EMPLACEMENT DESIRE ET APPUYER SUR ENTER.
1760 DATA $,19,A DROITE VOUS TROUVEREZ QUELQUES FONCTIONS =$,21,EXIT POUR SORTIR ET QUITTER VOTRE PARTIE$,22,S POUR SAUVEGARDER VOTRE PARTIE ET LA REPRENDRE PLUS TARD$,23,C POUR CHARGER UNE PARTIE PREALABLEMENT SAUVEGARDEE
1770 DATA $,24,D POUR VISUALISER LES 'FICHIERS PARTIES' PRESENTS SUR LA DISQUETTE$,25,V POUR VERIFIER SI VOUS AVEZ GAGNE (C'EST LA QU'IL FAUDRA CHOISIR ENTRE UNE PATIENCE      SIMPLE OU PANACHEE).?
1780 PRINT CL$;FNloc$(0,25)"R E U S S I T E":GOSUB 720:GOSUB 790:GOSUB 1100:GOSUB 1110:GOTO 380

Controls

           ↑ = UP
           ↓ = DOWN
           ← = LEFT
           → = RIGHT
       ENTER = SELECT
        EXIT = EXIT THE GAME
           S = SAVE GAME
           C = LOAD GAME
           D = DISK DIRECTORY
           V = VERIFY MATCH

Loading the program

 1.- Insert the CP/M disc on side 2
 2.- Write BASIC and wait for it to load
 3.- Remove the CP/M disk and insert the disk containing the Reussite game
 4.- Type run "REUSSITE" and press the "ENTER" key

Extras

  • Listing of the program in a magazine with a large circulation of the time

reussite_01.jpg reussite_02.jpg reussite_03.jpg

Download

en/reussite.txt · Last modified: 2022/07/10 18:24 by jevicac