fix(SCOPONE-0011): complete iteration 0 - tune ai and ui

This commit is contained in:
Giancarmine Salucci
2026-04-10 23:29:51 +02:00
parent 45dfbf65e5
commit 38f675eda5
5 changed files with 275 additions and 53 deletions

View File

@@ -245,24 +245,26 @@ const RAW_FIXTURES: RawFixture[] = [
},
},
{
id: 'safe-low-dump',
name: 'Safe Low Dump',
description: 'The search should prefer the lone safe release over cards that either capture or create leverage for the next player.',
tags: ['table-control'],
dealer: 2,
id: 'safe-scopa-conversion',
name: 'Safe Scopa Conversion',
description: 'When a clean sweep is available, the search should take the safe scopa instead of settling for a smaller direct capture.',
tags: ['safe-scopa', 'scopa-window'],
dealer: 3,
currentPlayer: 0,
handSizes: [5, 5, 5, 5],
hands: [[
'coppe_10',
'spade_8',
'bastoni_6',
'denara_4',
'coppe_3',
'bastoni_10',
'denara_6',
'coppe_9',
'bastoni_3',
'spade_2',
], undefined, undefined, undefined],
table: ['denara_2', 'spade_9', 'bastoni_4', 'coppe_5'],
piles: PILES_TEMPLATE_A,
table: ['coppe_4', 'spade_6'],
pileCardCounts: [5, 4, 5, 4],
totalPoints: [8, 8],
expectedMove: {
cardId: 'coppe_3',
cardId: 'bastoni_10',
captureIds: ['coppe_4', 'spade_6'],
},
},
{
@@ -337,25 +339,25 @@ const RAW_FIXTURES: RawFixture[] = [
},
},
{
id: 'direct-eight-conversion',
name: 'Direct Eight Conversion',
description: 'The direct eight capture should be preferred when it removes the strongest immediate counter-card from the table.',
tags: ['material-swing'],
dealer: 2,
id: 'duplicate-rank-opening-release',
name: 'Duplicate Rank Opening Release',
description: 'On an empty opening table, the search should release the non-denari duplicate high rank instead of opening with weaker denari or singleton alternatives.',
tags: ['opening-release', 'duplicate-rank'],
dealer: 3,
currentPlayer: 0,
handSizes: [5, 5, 5, 5],
hands: [[
'coppe_10',
'spade_5',
'coppe_8',
'denara_8',
'bastoni_9',
'coppe_3',
'denara_7',
'denara_6',
'bastoni_2',
], undefined, undefined, undefined],
table: ['denara_2', 'coppe_8', 'bastoni_4', 'spade_9'],
piles: PILES_TEMPLATE_A,
table: [],
pileCardCounts: [5, 5, 5, 5],
totalPoints: [7, 7],
expectedMove: {
cardId: 'denara_8',
captureIds: ['coppe_8'],
cardId: 'coppe_8',
},
},
];