This game has been calling out for a F.S.M. to me for far too long. I have been trying to get Nick to create a FSM for the bidding convention, but he has been unmotivated. We are currently using this convention (but I don’t know what its parts are called). So, this holiday weekend, I wrote a FSM in Python that reads in a recording of the cards that everyone had and their bids. It came out pretty nice. Although, since it is a character driven FSM, it can get a little ugly when it process words like ‘double’ or ‘pass’. It has to have a state for each character transition. And, when its finished processing, it spits out html below. The players were (N: Stephanie, E: Wayne, S: Mark, W: JohnH).
♠ | J 5 3 | ||||
♥ | 10 6 | ||||
♦ | 10 8 | ||||
♣ | J 10 9 7 5 4 | ||||
♠ | A Q 10 4 |
N W E S |
♠ | 8 7 6 2 | |
♥ | A 8 4 3 | ♥ | 7 5 2 | ||
♦ | 3 | ♦ | K Q J 9 7 2 | ||
♣ | A 8 6 3 | ♣ | |||
♠ | K 9 | ||||
♥ | K Q J 9 | ||||
♦ | A 6 5 4 | ||||
♣ | K Q 2 |
Bidding was as follows:
East | South | West | North |
2♦ | 2♥ | 2nt | pass |
pass | double | pass | 3♣ |
pass | 3nt | redouble | pass |
pass | pass | pass | pass |
A 3♦ was then led.
The score turned out to be -2
♠ | 10 8 5 | ||||
♥ | K 10 9 8 3 | ||||
♦ | 7 5 2 | ||||
♣ | 9 2 | ||||
♠ | 9 7 |
N W E S |
♠ | K J 6 3 | |
♥ | A 7 5 | ♥ | Q J | ||
♦ | A K J 9 3 | ♦ | Q 8 6 4 | ||
♣ | 10 7 4 | ♣ | A J 3 | ||
♠ | A Q 4 2 | ||||
♥ | 6 4 2 | ||||
♦ | 10 | ||||
♣ | K Q 8 6 5 |
Bidding was as follows:
South | West | North | East |
pass | pass | pass | 1♦ |
pass | 4♦ | pass | pass |
A 10♦ was then led.
The score turned out to be -1
♠ | 5 4 3 | ||||
♥ | K Q 8 6 4 2 | ||||
♦ | J 3 | ||||
♣ | 5 2 | ||||
♠ | K J 10 8 |
N W E S |
♠ | A 6 | |
♥ | A | ♥ | J 10 7 3 | ||
♦ | A 10 7 | ♦ | K Q 9 5 | ||
♣ | K 10 9 6 3 | ♣ | A J 7 | ||
♠ | Q 9 7 2 | ||||
♥ | 9 5 | ||||
♦ | 8 6 4 2 | ||||
♣ | Q 8 4 |
Bidding was as follows:
West | North | East | South |
1♣ | pass | 2♦ | pass |
4♦ | pass | 4♥ | pass |
4nt | pass | pass | pass |
A 6♥ was then led.
The score turned out to be 5
♠ | 4 | ||||
♥ | Q 10 9 7 5 2 | ||||
♦ | J 6 2 | ||||
♣ | A 9 2 | ||||
♠ | 10 2 |
N W E S |
♠ | K Q 9 6 5 3 | |
♥ | K J 3 | ♥ | 8 4 | ||
♦ | A 10 9 5 | ♦ | 8 4 | ||
♣ | 8 6 4 3 | ♣ | K 10 5 | ||
♠ | A J 8 7 | ||||
♥ | A 6 | ||||
♦ | K Q 7 3 | ||||
♣ | Q J 7 |
Bidding was as follows:
North | East | South | West |
2♥ | 3♠ | 3nt | pass |
pass | pass | pass | pass |
A 2♠ was then led.
The score turned out to be 3
♠ | A Q 9 7 6 2 | ||||
♥ | Q 10 7 3 | ||||
♦ | 6 | ||||
♣ | 9 4 | ||||
♠ | J |
N W E S |
♠ | 10 8 3 | |
♥ | J 8 5 2 | ♥ | K 6 | ||
♦ | Q 9 2 | ♦ | A K J 3 | ||
♣ | A 10 7 6 3 | ♣ | Q J 5 2 | ||
♠ | K 5 4 | ||||
♥ | A 9 4 | ||||
♦ | 10 8 7 5 4 | ||||
♣ | K 8 |
Bidding was as follows:
East | South | West | North |
1♦ | pass | 2♦ | 2♠ |
pass | 3♦ | pass | 3♠ |
pass | pass | pass | pass |
A K♥ was then led.
The score turned out to be 3