pdulvp.fr

Le tarot français à quatre, sur la carcasse de pdcartes-belote has been fixed.

See more details at : https://github.com/pdulvp/pdcartes-tarot/issues/1

  • jeu complet : 78 cartes, enchère de la petite à la garde contre, chien,

écart, dix-huit plis, poignée, chelem et petit au bout ; marque individuelle
dont la somme des quatre lignes est nulle

  • règles neuves dans Cards, Poignee et Tarot, en demi-points entiers —

aucun flottant, le roi vaut 9 et la donne 182 ; le reste du programme est
repris de la belote avec la cartothèque, les trois fontes, l'écran titre, les
six adversaires et les trois profils

  • TableView apprend le chien posé au milieu et la sélection à six cartes de

l'écart, où un roi et un bout sont dessinés éteints ; ScoreBoard passe de
deux camps à quatre lignes

  • seuils de l'enchère posés sur ce qu'une main rapporte et non sur sa

fréquence, mesuré sur quelques milliers de donnes : 21 % de donnes annulées,
83 % de petites, 15 % de gardes, 47 % de contrats tenus

  • les cinq tables se comptent en donnes et non en points, la marque du tarot

étant signée et sans plafond

le tarot français, à partir de pdcartes-belote

<sub>2026-10-31-2345-le-tarot-francais-a-quatre.md — 2026-10-31 23:45</sub>

But : écrire pdcartes-tarot, le tarot français à quatre joueurs, dans le
dépôt pdcartes-tarot qui ne contient qu'un README.md. Le programme reprend
l'architecture, l'habillage et l'outillage de pdcartes-belote
(/mnt/Data/Works/belottesol), qui est lui-même le frère de card-sol
(pdcartes-rami) : même cartothèque partagée, mêmes trois fontes, même écran
titre, même menu d'ouverture sur le tapis, mêmes six adversaires qui
apprennent, mêmes trois profils, mêmes cinq pages de réglages, mêmes paquets
Debian et Windows.

Ce qui change est la couche des règles, qui est entièrement neuve : soixante-dix-huit
cartes au lieu de trente-deux, une enchère à cinq paroles, un chien, un écart,
dix-huit plis, un preneur seul contre trois, et une marque qui se compte en
demi-points.

Décisions prises avant de commencer

Le tarot à quatre, et lui seul. C'est la forme la plus jouée, et c'est
celle qui se pose exactement sur la géométrie de TableView : quatre places,
une croix de quatre cartes, trois plaques autour du pli. Le tarot à cinq
demanderait un anneau de cinq places et l'appel au roi ; le tarot à trois, un
anneau de trois. La couche des règles compte néanmoins ses places par
seatCount() plutôt que par une constante, pour que l'ajout reste possible.

Les demi-points, comptés en entiers. Une carte de tarot vaut 4,5, 3,5, 2,5,
1,5 ou 0,5 point. Tout ce qui est un point dans le programme est donc un
demi-point entier : le roi vaut 9, la donne 182, le contrat à deux bouts 82.
L'affichage divise par deux et écrit « 41 » ou « 47,5 ». Aucun flottant dans
les règles ni dans la marque.

Les tables se comptent en donnes. À la belote la table dit un but en
points ; au tarot la marque est individuelle et sans plafond, et une partie se
joue sur un nombre de donnes fixé — un multiple de quatre, pour que chacun
donne autant de fois. Les cinq tables deviennent donc 1, 4, 8, 12 et 20 donnes.

La numérotation des cartes. Le programme compte le valet 11, le cavalier
12, la dame 13 et le roi 14, ce qui est l'ordre où elles prennent les plis. La
cartothèque, elle, range le cavalier au rang 14 pour n'avoir pas décalé la dame
et le roi des jeux déjà fabriqués. La traduction se fait dans FeltArt, à
l'endroit où la carte est dessinée, comme la belote y traduit son as.

Les règles retenues

Les règles de la Fédération française de tarot, dans leur forme ordinaire.

| | |
|---|---|
| Le jeu | 78 cartes : quatre couleurs de 14 (de l'as au roi, avec le cavalier entre le valet et la dame), 21 atouts numérotés, et l'excuse |
| Les bouts | le petit (atout 1), le 21 et l'excuse |
| La donne | 18 cartes à chacun, par paquets de 3, et 6 au chien |
| Petit sec | une main dont le petit est le seul atout et qui n'a pas l'excuse fait redonner |
| L'enchère | passe, petite (×1), garde (×2), garde sans le chien (×4), garde contre le chien (×6) |
| Le chien | retourné et pris à la petite et à la garde ; au preneur sans être vu à la garde sans ; aux défenseurs à la garde contre |
| L'écart | six cartes, ni rois ni bouts ; des atouts seulement à défaut d'autre chose, et montrés alors |
| Le jeu | fournir ; à défaut couper ; sur un atout déjà posé, monter si on peut ; l'excuse se joue quand on veut |
| L'excuse | ne prend jamais le pli ; reste au camp qui l'a jouée, lequel rend une carte basse au camp qui a pris le pli |
| Le contrat | 56 points sans bout, 51 avec un, 41 avec deux, 36 avec les trois |
| La marque | (25 + écart + petit au bout) × multiplicateur + poignée + chelem |
| Petit au bout | le petit joué au dernier pli : 10 points au camp qui prend ce pli, multipliés comme le reste |
| La poignée | annoncée avant sa première carte : 10 atouts 20 points, 13 atouts 30, 15 atouts 40 ; ajoutée au camp qui gagne la donne, sans multiplicateur |
| Le chelem | les dix-huit plis : annoncé et réussi 400, annoncé et manqué −200, réussi sans annonce 200 |
| Le règlement | chaque défenseur donne ou reçoit la marque, le preneur trois fois celle-ci |

Étapes

A. Le dépôt et l'outillage

  1. [x] docs/plans/README.md, .gitignore, VERSION (1.0.0),

prel.config.json.

  1. [x] cmake/ : GenerateVersion.cmake, CPackOptions.cmake,

mingw-w64.cmake, repris de la belote avec les noms de variables
PDCARTES_TAROT_*.

  1. [x] assets/ : les trois fontes et leurs licences, les icônes Adwaita et

leurs papiers, cartes/LISEZMOI.md.

  1. [x] tools/make-icon.py et l'icône : la lettre « T » dorée sur le vert du

tapis, puis les sept PNG, le SVG et le fichier ICO.

  1. [x] data/ : links.ini, pdcartes-tarot.desktop,

pdcartes-tarot.rc.in.

  1. [x] CMakeLists.txt : la liste des sources du tarot, les cibles deb,

zip et release.

B. Les cartes et les règles — tout est neuf

  1. [x] src/Cards.{h,cpp} : les 78 cartes, leur identité, leur valeur en

demi-points, leur force, beatsTrick avec l'excuse, les deux
rangements de la main, les noms français de chaque carte.

  1. [x] src/Poignee.{h,cpp} : compter les atouts d'une main, dire la poignée

qu'elle peut montrer, et ce qu'elle vaut. Remplace Annonces.

  1. [x] src/Tarot.{h,cpp} : la donne. La distribution par paquets de trois et

le chien, le petit sec, l'enchère à cinq paroles, le chien retourné,
l'écart et ce qu'il interdit, les dix-huit plis et ce qu'on a le droit
d'y jouer, l'excuse rendue, le compte des bouts, le contrat, le petit
au bout, la poignée, le chelem, et le règlement à quatre.
Remplace Belote.

  1. [x] src/Tables.{h,cpp} : les cinq tables comptées en donnes.

C. Les adversaires

  1. [x] src/Rivals.{h,cpp} : les six, repris tels quels — mêmes noms, mêmes

couleurs, mêmes emblèmes, même expérience — avec les descriptions
réécrites pour le tarot.

  1. [x] src/Brain.{h,cpp} : l'estimation d'une main, le choix de l'enchère,

le choix de l'écart, le choix d'une carte, la poignée, le chelem, et
le bouton Conseil. Trois niveaux, comme à la belote :

  • débutant : compte ses atouts et ses bouts, joue sa carte sans

regarder qui tient le pli, se trompe franchement de temps en temps ;

  • intermédiaire : pèse sa main avant de prendre, écarte pour se faire

une coupe, protège son petit, charge le camp qui tient le pli ;

  • expert : se souvient des soixante-dix-huit cartes, sait combien

d'atouts restent dehors, tire l'atout quand il a pris, chasse le
petit de l'adversaire et garde le sien pour le dernier pli, sait où
en est le contrat.

D. L'écran

  1. [x] src/FeltArt.{h,cpp} : la traduction des rangs vers la cartothèque,

les atouts et l'excuse dessinés, le reste repris.

  1. [x] src/TableView.{h,cpp} : les dix-huit cartes de la main, les

vingt-quatre de l'écart et la sélection multiple qu'il demande, le
chien posé au milieu, la colonne de droite qui dit le contrat, les
bouts et les points, les vols de cartes repris.

  1. [x] src/TablePage.{h,cpp} : la suite des phases, les boutons de

l'enchère, le bouton Écarter, la poignée et le chelem demandés au
joueur, le rythme des adversaires.

  1. [x] src/ScoreBoard.{h,cpp} : quatre lignes et non deux camps — le

preneur, ce qu'il a fait, et ce que chacun marque.

  1. [x] src/HelpDialog.cpp : les règles du tarot, en entier.
  2. [x] src/SettingsDialog.{h,cpp} : les jeux de cartes filtrés sur

DeckKind::Tarot, et les règles réglables du tarot à la place des
deux de la belote.

  1. [x] Repris sans changement de fond, avec le renommage : main.cpp,

MainWindow, TitlePage, TitleMark (l'enseigne dit « TAROT »),
TitleFlight, Fonts, TileButton, MenuStyle, ProfileChip,
Profiles, TableLook, RivalCard, RivalGlance, TablePicker,
VictoryEffect, AskDialog, NameDialog, Version.h,
Links.h.in.

E. Fin

  1. [x] Construire pour Linux, corriger, et régler le cerveau en jouant :

quelques milliers de donnes simulées en dehors de l'application, pour
poser les seuils de l'enchère sur ce qu'une main rapporte et non sur
sa fréquence. Relevé final : 21 % de donnes annulées, 47 % de contrats
tenus, 83 % de petites, 15 % de gardes.

  1. [x] Construire pour Windows (build-win), vérifier l'archive, et le

paquet Debian avec.

  1. [x] README.md : le tarot, les règles en bref, les tables, les six, les

cartes, la construction, et la carte du code.

  1. [x] Marquer le plan complete, écrire docs/plans/sumup.md, archiver le

plan, commiter.

Ce qui a été vérifié

  • Quelques milliers de parties jouées hors application, les quatre places

tenues par les cerveaux : aucune partie bloquée, la somme des quatre lignes
de la feuille de marque est nulle à chaque donne, les deux camps font
toujours les 182 demi-points et les 18 plis de la donne.

  • La table, le chien, l'écart et la feuille de marque rendus hors écran à

partir des objets du build, en pilotant TablePage au clavier : l'enchère,
le chien retourné, les vingt-quatre cartes de l'écart avec les rois et les
bouts éteints, et la feuille de fin de donne.

  • Les deux paquets, deb et zip.

Ce qui reste ouvert

  • Le tarot à cinq et son appel au roi, et le tarot à trois : la couche des

règles compte ses places, la vue en suppose quatre.

  • Le preneur ramasse 41,5 points là où il lui en faut 46 : son jeu est à peu

près celui d'un joueur honnête, pas celui d'un bon joueur. C'est ce qui
tient la barre de l'enchère aussi haut, et donc une donne sur cinq annulée.

Notes de travail

  • Construire en série et en avant-plan : cmake --build build, sans

--parallel, un appel à la fois.

  • Le dossier des jeux de cartes est commun aux trois programmes : un tarot

déposé une fois sert ici, et la cartothèque ne montrera que les jeux dont le
genre est Tarot.

<sub>Filed by prel from the completed plans at commit time.</sub>