Blackjack
Blackjack is a language to specify randomizers, developed by TC forum members Lardarse and Tepples. It is intended to be useful both for human beings to read and for computers to parse. It is intended that future versions of Lockjaw will include a Blackjack interpreter.
Syntax
list
- Choose a piece at random from the comma-separated list and deal it. Equivalent to
1 bag of list
. bag of list
- Make a bag of list and deal them all in random sequence, then reshuffle.
number bag of list
- Make a bag of list and deal the first number in random sequence, then reshuffle.
list with len history
- Keep a list called history of the last len pieces dealt. (Repeated pieces in list are separate pieces for purpose of the history.) Choose a piece at random from list which is not in history and deal it. Then put the piece in history and remove the oldest piece from history.
list with len history number rolls
- Keep a list called history of the last len pieces dealt. (Repeated pieces in list are separate pieces for purpose of the history.) Up to number times, choose a piece at random from list, and if it is not in history, deal it. Otherwise, deal the last piece chosen. Then put the piece in history and remove the oldest piece from history.
spec first list
- Follow spec, except choose the first piece from list.
Examples
- Random Generator
bag of I,J,L,O,S,T,Z
- 14-piece bag
bag of I,I,J,J,L,L,O,O,S,S,T,T,Z,Z
- 14-piece bag, dealt halfway
7 bag of I,I,J,J,L,L,O,O,S,S,T,T,Z,Z
- Memoryless
I,J,L,O,S,T,Z
- Memoryless including small pieces
I,J,L,O,S,T,Z,I2,I3,L3
- Memoryless more difficult (10% I)
I,I,J,J,J,L,L,L,O,O,O,S,S,S,T,T,T,Z,Z,Z
- SZSZ
S,Z
- Move to Back
I,J,L,O,S,T,Z with 4 history
- SZSZ alternating
S,Z with 1 history
- TGM1 randomizer
I,J,L,O,S,T,Z with 4 history 4 rolls first I,J,L,T
- TGM2/3 randomizer
I,J,L,O,S,T,Z with 4 history 6 rolls first I,J,L,T
- Lardarse's more difficult
5 bag of I,T,J,J,L,L,O,O,S,S,S,Z,Z,Z