This is one of several user guides on specific topics. The directory for all user guides is here.
The general workings of the Deal Recipe Randomizer are explained in other posts about the deal recipe maker panel. This post is a tutorial showing how the randomizer lets you express certain configurations with fewer recipes.
Suppose you want a recipe from which you can generate 1-level major opening hands. You want the hand to have 12-21 HCP and you want hearts to have at least 5 cards and at least 2 honors.
Start with a shaper to get in the ballpark, requesting an unbalanced hand with 12-21 HCP:
This is pretty good.
We want more oomph in hearts, so we copy it to the recipe panel by clicking “To Recipe.”
Now say we want to generalize the recipe. Let’s focus on just the heart suit, and let’s say we want at least 5 cards:
XXXXX will give you at least 5 cards, sometimes more. But it is not likely to give you more than 6 because of the way recipes are fulfilled. What if you want from 5 to 8 hearts? You would have to make multiple recipes, each with a different hearts line:
Recipe 1: XXXXXB
Recipe 2: XXXXXXB
Recipe 3: XXXXXXXB
Recipe 4: XXXXXXXXB
In building sets of deals, you are of course going to have more than one recipe. And in fact you might want recipes with very specific card counts in a suit. But you won’t always want to have to build multiple recipes for every scenario.
Here’s how you request from 5-8 cards in a suit with a randomizer:
(5-8)XB
That’s it. Each time you generate a deal from that recipe, the generator will choose 5, 6, 7, or 8 at random, and give you that many hearts.
Now suppose you want your 5-8 card heart suit to have no more than 2 face cards of unspecified rank. Fine, get busy with placeholders:
Recipe 1: FFZZZB
There you go. A 5-card heart suit with two face cards and three zero-point cards. But after playing the 10th deal you generate from that recipe, you’re going to wish you had some variety. In fact, the very definition “5-8 cards with no more than 2 face cards” is asking for variety, isn’t it? Yet your recipe gives only one possible configuration. Yes, the exact cards are random thanks to placeholders, but the number of each type of card is fixed. Guess we need more recipes. Fine. Get busy again:
Recipe 2: FFZZZZB - a six card suit with two face cards.
Recipe 3: FZZZZZB - a six card suit with one face card.
Recipe 4: ZZZZZZB - a six card suit with no face cards.
Hey, don’t forget, we wanted from 5-8 cards, and no more than 2 face cards, so we’re going to need some more permutations to cover all possibilities. Cancel your afternoon and keep making recipes.
Or…invoke the power of the randomizer with this in hearts:
(0-2)F(5-6)ZB
That’s from zero to two face cards, and either five or six zero-point cards. To get the possible number of hearts resulting from this randomizer, you add the low ends of the randomizer ranges together, and add the high ends together. For this one, that’s a total of from 5 to 8 cards.
Here it is in action in the recipe maker, with the resulting deal in the Generated Deal panel:
The (0-2)F construct is how you request “no more than 2” of something.
The construct that doesn’t start with 0 on the low end (e.g. our (5-6)Z for zero-point cards) is how you request “at least but not more than” something.
You can request an exact number of something either by repeating the placeholder yourself (e.g. ZZZZB) or with a non-random randomizer: (4-4)ZB. That’s “at least 4 but not more than 4, better known as 4.”
As with everything else in the deal recipe maker, your input is not edited in any way, and there is nothing to prevent you from concocting incorrect or simply impossible recipes. Build your recipes step-by-step and check them by generating deals as you go along. The only guarantee is that you will get a valid deal, whether or not your recipe is valid.