Dado, de qualquer maneira e ordem,
dimensões (na ordem que você desejar)
uma probabilidade (no formato que você quiser)
número de iterações (você pode optar por contar ou não o estado inicial)
fazer um dos seguintes:
animar ou
produzir cada etapa de, ou
retornar uma lista de estados de
um céu cheio de espaços dessas dimensões.
Para cada iteração:
todo personagem do céu tem a probabilidade de se tornar um
*
os oito caracteres que cercam qualquer um
*
se tornam
\
|
/
-
-
/
|
\
, se não se tornarem estrelas, no entanto,- se um personagem estiver dentro do intervalo de dois
*
s, faça dele umX
Exemplo
O céu 7 × 22 (quadro apenas para maior clareza - não produza o quadro)
┌──────────────────────┐
│ │
│ │
│ │
│ │
│ │
│ │
│ │
└──────────────────────┘
poderia com 1% de probabilidade tornar-se
┌──────────────────────┐
│ * │
│ │
│ │
│ │
│ │
│ * │
│ │
└──────────────────────┘
e o próximo passo
┌──────────────────────┐
│ - - * │
│ /|\ │
│ * │
│ │
│ \|/ │
│ - - │
│ /|\ │
└──────────────────────┘
e depois
┌──────────────────────┐
│ - - │
│ /|\ \|/ │
│ - - │
│ /|\ │
│ │
│ * * │
│ │
└──────────────────────┘
e
┌──────────────────────┐
│ │
│ │
│ │
│ │
│ \|X|/ │
│ - X - │
│ /|X|\ * │
└──────────────────────┘
e assim por diante
┌──────────────────────┐
│ │
│ │
│ │
│ * │
│ │
│ \|/│
│ - -│
└──────────────────────┘