Sfida
Dato un input di stringa, genera la versione demolita di esso.
Il processo
P
r Pr r
o o o
g g g
r r r rogr r
a -> a -> a -> a -> a -> -> -> -> ->
m m m m m
m m m m m mmar m
i i i i i i i mi m
n n n n gn gn gn gn gni mgni
g g Pg Pg roPg roPg roPgmar roPgmar roPgmar roPgmar
- Posiziona la corda in verticale.
- Selezionare un intero casuale compreso tra
1
e(height of the column of characters) - 1
ed una direzione casuale (destra o sinistra). - Ruota quel numero di caratteri in quella direzione (se quegli spazi non sono occupati vai al passaggio 4; in caso contrario, torna al passaggio 2).
- Lascia che quei personaggi cadano a causa della gravità.
- Ripeti fino a quando l'altezza della colonna di caratteri è al massimo
1
maggiore dell'altezza delle colonne accanto ad essa (ovvero diventa impossibile demolire ulteriormente ("passaggi 2-4") la colonna). - Se c'è un'altra colonna di personaggi che è più di un
1
personaggio più alta di una o più delle sue colonne circostanti (cioè demolibile), demolisci ripetutamente quella colonna fino a quando non è più demolibile. Se ci sono più colonne capaci di demolire, demolisci completamente la colonna più alta (se ci sono più colonne più alte, demolisci completamente quella più a sinistra). - Ripetere l'operazione fino a quando tutte le colonne non saranno più demolibili.
Se ci sono caratteri spaziali nell'input, demoliscili prima, tutti in una volta.
C
o
d
e -> oC -> -> ...
de
G G G
o o o
l l l
f f defoC
Regole
- Sono vietate le scappatoie standard.
- Sono consentiti il trascinamento e le nuove linee principali.
- Il programma può stampare o restituire una stringa / equivalente.
- L'output deve essere non deterministico (a meno che l'input non sia demolibile).
Si tratta di code-golf , quindi vincono gli invii con il byte più piccolo nelle loro lingue!
4
renderebbe deterministico l'output, cioè non "casuale". Modificato le regole per renderlo esplicito.