version 1/080522 by S John Ross
- Chapter: Dice-Lock
- Section: Behaving Randomly
- Section: Calling on the "lock the dice" Activity
- Section: Saying "[RandomLock]"
- Chapter: Limitations
Dice-Lock provides simple tools to protect random results from the ravages of UNDO. Rather than restricting the UNDO command directly, this extension allows the author to selectively "lock" random results. Once locked, the result is immune to brute-force undo-redo attempts.
This extension doesn't touch UNDO itself; the player is free to back off and choose another course of action. Dice-Lock also leaves the game's overall randomness intact(you "lock" only what you choose to), and preserves unpredictability from game to game (a locked coin-toss is still a coin-toss; locking it doesn't "fix" the result to Heads or Tails).
There are three basic ways to use Dice-Lock in your source: declaring an action as "behaving randomly," calling directly on the "lock the dice" activity, or inserting the "RandomLock" token into a string.