Chapter 8: Change
8.17. Randomness

Sometimes we want to introduce random behaviour into play. We usually do this by generating random values, and then acting differently depending on what they are. The following:

a random number from 2 to 5

produces, as it suggests, a random number drawn from the choices 2, 3, 4 or 5, each of which is equally likely to come up.

We can also use random conditions:

if a random chance of 2 in 3 succeeds then ...

Here is a rule which applies only 15% of the time:

Instead of waiting when a random chance of 15 in 100 succeeds: ...

If we make a new kind of value, we can also take random values from it:

A cloud pattern is a kind of value. The cloud patterns are cumulus, altocumulus, cumulonimbus, stratus, cirrus, nimbus, nimbostratus.

The value "a random cloud pattern" then produces a random choice from the seven cloud patterns, each equally likely.

Testing IF which makes random choices can be rather frustrating, because a problem showing up on one attempt may not show up on another. To ease testing, the following sentence will "fix" the process of generating these random numbers so that they are not random at all - the same sequence of random numbers will be produced on each run.

When play begins, seed the random-number generator with 1234.

The seed value "1234" can be anything positive; a different sequence of random numbers will be produced for each different seed value. A seed value of 0 restores the RNG to properly random behaviour again.


126
* Example  Lanista 1
Very simple randomized combat in which characters hit one another for a randomized amount of damage.

RB
127
* Example  Do Pass Go
A pair of dice which can be rolled, and are described with their current total when not carried, and have individual scores when examined.

RB

"Do Pass Go"

Go is a room. "A giant square area, where you and your other pewter ornament friends gather before setting out to purchase London."

The pair of dice is carried by the player.

The pair of dice has a number called first die. The pair of dice has a number called second die. The first die of the pair is 6. The second die of the pair is 6. Rule for printing the name of the pair of dice while taking inventory: say "pair of dice".
Rule for printing the name of the pair of dice: say "pair of dice showing [first die of the pair plus second die of the pair]".

To say detailed state of the dice:
    if the first die of the pair is the second die of the pair, say "double [first die of the pair]";
    otherwise say "[first die of the pair] and [second die of the pair]".

The description of the pair of dice is "The pair of dice are [if the dice are carried]itching to be rolled[otherwise]showing [detailed state of the dice][end if]."

Rolling is an action applying to one carried thing. Understand "roll [something preferably held]" as rolling.

Check rolling when the noun is not the pair of dice: say "Not something you can roll." instead.
Carry out rolling:
    now the pair of dice is in the holder of the actor;
    now the first die of the pair of dice is a random number from 1 to 6;
    now the second die of the pair of dice is a random number from 1 to 6.
Report rolling:
    say "You roll [detailed state of the dice]."

Test me with "i / roll dice / look / x dice / get dice / x dice / roll dice / roll dice / roll dice / roll dice / roll dice / roll dice / roll dice".

Because we remember the states of the individual dice, not just a total, we can make use of the combination rolled.

The doubles count is a number that varies.
After rolling:
    if the first die of the pair is the second die of the pair, increase the doubles count by 1;
    otherwise change the doubles count to 0;
    continue the action.

Jail is a room. "This is Jail, and not the Just Visiting periphery, either."

Every turn when the doubles count is 3:
    say "The blue-uniformed policemen blows his whistle and beckons you sternly...";
    now the player carries the pair of dice;
    now the player is in Jail;
    now the doubles count is 0.

Every turn when the doubles count is 1 and the player is in Jail:
    say "The warden gruffly releases you.";
    now the player carries the pair of dice;
    now the player is in Go.

128
* Example  Weathering
The automatic weather station atop Mt. Pisgah shows randomly fluctuating temperature, pressure and cloud cover.

RB
129
*** Example  Uptown Girls
A stream of random pedestrians who go by the player.

RB


PreviousContentsNext