Progetto:BridgeShape Smazzate di gioco
Documentazione BridgeShape: API e sintassi DSL · Motore e frontend · Ricette DSL
BridgeShape — Regole per generare smazzate di gioco (eliminazione e messa in mano)
Come descrivere con shape_constraints le smazzate didattiche sul gioco della carta (eliminazione,
messa in mano, expasse, sblocco, conteggio, carta falsa), per esempio quelle della lezione
"Gioco di Eliminazione" di ProgettoBridge. Gli scenari qui sotto sono archetipi scritti da BridgePedia (non copiano le mani né il testo della lezione). Ogni riga è verificata dal parser
(RecipesTest).
1. Cosa può fare la DSL e cosa no
La DSL descrive la struttura della smazzata: forma, punti, fit, colori lunghi, contesto (contratto, attaccante, vulnerabilità). Non può dire "la mano si realizza solo con la messa in mano": quella è una proprietà del gioco, non della distribuzione. Quindi la generazione ha due fasi:
- Generazione strutturale con gli scenari di questa pagina (il motore Play).
- Filtro tecnico (post-filtro), da realizzare in Play con un risolutore a carte scoperte (double dummy): si tiene la smazzata solo se supera i controlli del §3.
Senza il passo 2 la maggior parte delle mani generate non conterrebbe il tema voluto.
2. Archetipi (scenari)
Messa in mano dopo eliminazione, fit nobile 5-4, contratto di manche:
Eliminazione base 4S: declarer:opener contract:4S opener S:5 hcp:16-19 ; responder S:4 hcp:8-11 Eliminazione base 4H: declarer:opener contract:4H opener H:5 hcp:16-19 ; responder H:4 hcp:8-11
Colore laterale corto da eliminare (singolo o doubleton) con taglio e scarto possibile:
Eliminazione colore corto: declarer:opener contract:4S opener S:5-6 hcp:15-19 $a:2-3 ; responder S:4 $a:2 hcp:8-12
Slam con undici prese vincenti e un solo colore da giocare bene:
Slam con colore chiave: declarer:opener contract:6S pairhcp:30-34 opener S:5+ hcp:17-21 ; responder S:3+ hcp:10-14
Expasse e impasse nello stesso colore (stessa posizione di una carta):
Impasse o expasse: declarer:opener contract:6D pairhcp:30-34 opener D:5+ hcp:14-18 ; responder D:4+ hcp:14+
Gioco a senza atout con sblocco al primo giro:
SA con sblocco: declarer:opener contract:3NT opener shape:balanced hcp:15-17 ; responder shape:balanced hcp:9-12 ; opp1 S:5+ SA con onore secondo in mano: declarer:opener contract:3NT opener H:2-3 hcp:15-17 ; responder H:4 hcp:10-12 ; opp1 S:5+
Conteggio della mano di un avversario che ha aperto di barrage o sottoapertura:
Conteggio dopo barrage: dealer:opp1 declarer:opener contract:4H opp1 S:7 hcp:5-9 ; opener H:5+ hcp:16-20 ; responder H:3+ Conteggio dopo sottoapertura: dealer:opp1 declarer:opener contract:6C opp1 D:6 hcp:5-9 ; opener C:6+ hcp:19+ ; responder C:2-4 hcp:12+
Atout 2-2 favorevoli e doppio impasse:
Quattro picche 2-2: declarer:opener contract:4S opener S:5 hcp:12-15 ; responder S:4 hcp:8-11 ; opp1 S:2 ; opp2 S:2
Controgioco e attacco per la difesa (si impersona la difesa):
Difesa contro 4 cuori: declarer:opener contract:4H lead:SQ opener H:5+ hcp:17+ ; opp1 S=QJ Difesa contro 6 fiori: declarer:opener contract:6C opener C:6+ hcp:19+ ; opp1 H:4-5 hcp:6-10
Contro informativo e risposta del compagno:
Contro informativo e risposta: dealer:opener opener S:6 hcp:12-15 ; opp1 hcp:12+ H:4+ ; responder hcp:0-5 C:5+
Mano troppo forte per l'appoggio barrage (fit quinto con 2NT Truscott):
Fit quinto con mano forte: declarer:opener contract:4S pairhcp:25-30 opener S:5 hcp:15-18 ; responder S:5+ hcp:9-12
3. Filtri tecnici (post-filtro con risolutore a carte scoperte)
Applicare dopo la generazione strutturale. Soglie indicative da tarare con esempi reali:
- Contratto realizzabile ma non banale: il risolutore trova la linea vincente, e la prima linea "ovvia" (per esempio impasse a prima vista) fallisce nella maggior parte delle posizioni alternative.
- Esistenza di una linea ≥ 90 % più alta della naturale: confrontare le probabilità delle linee; tenere la smazzata se la linea di eliminazione supera la naturale di almeno il 15 %.
- Eliminazione necessaria: dopo aver tolto i colori laterali la difesa deve essere messa in presa e restare senza uscite neutre (verifica: il contratto cade se si salta l'eliminazione).
- Una sola linea vincente (o pochissime): scartare le mani risolvibili in molti modi.
- Coerenza con la licita: licita ricostruita con le convenzioni del sistema scelto, mai incompatibile con le mani (usare il giudice
satisfies()sulla smazzata finale). - Carta falsa / radiografia: nelle mani sul conteggio richiedere che le carte da dedurre siano una distribuzione plausibile (almeno due ipotesi alternative con probabilità diverse).
4. Come usarli nelle pagine
- Un archetipo per pagina di tecnica, come
shape_constraintsnel template{{Convenzione}}o nella pagina della tecnica, conshape_rolesadatti (Dichiarante, Morto, Attaccante, Compagno). - Le soglie PO nell'archetipo sono punti di partenza: nella pagina si citano quelle della fonte e le mani reali (con
<deal>) dall'antologia di smazzate, con la fonte citata. - Per smazzate per la difesa usare
declarer:elead:e descrivere la mano dell'attaccante.
Fonti
- ProgettoBridge, Lezione 18 — Gioco di Eliminazione, smazzate esplicative (tecniche e temi trattati; gli archetipi qui sopra sono ricostruzioni originali di BridgePedia, non riproduzioni).