Ciao Luigi ....
Secondo me c'è "un nocciolo" ... al centro della questione.
Se non si spiega o si intuisce cosa esso sia e cosa rappresenti, ovvero ... come considerarlo,
ad uno script funzionante ... si può arrivare solo per tentativi e/o dietro le tue istruzioni (se non si parte ... per la tangente).
Scriviamo una piccola regola: il RITARDO DI LIVELLO è semplicissimo.
E' un RITARDO che si inizia a contare dopo un determinato evento.
Ovvero per quanto banale possa sembrare ... da "quando inizia".
Poi come tutti i ritardi (correnti) è tale da un certo numero di estrazioni
(per quante esse siano: zero / uno / trentuno / cento ...)
Dicendolo essere un valore finito ed attuale ... diciamo 10 per semplicità.
Chiaro e facile intuire che ... è iniziato 10 estrazioni orsono.
Esattamente come diremo che il ritardo del numero "X" nella ruota "Y" è 10.
Ma questo inizio ... in genere ... non lo conosciamo ... ed "è quello" che dobbiamo calcolare.
Supponiamo fosse iniziato "una Estrazione dopo" ... ora sarebbe solo 9 e quella dopo ancora 8 ...
poi 7 fino al minimo di zero se fosse appena estratto.
Ora se fosse "10" alla estrazione 9010 chiaro che è iniziato alla 9000 ...
Sapendo solo che "è presente" alla 9010 ... si deve retrocedere ...alla 9009 poi alla 9008 poi alla 9007
verificando di volta in volta "se inizia" ... e s'arriva alla 9000.
Avendo contato queste "10 Estrazioni" in cui "questo ritardo" è presente.
Diciamo che il ritardo attuale (RDL) è 10.
Quindi retrocedendo ... possiamo conteggiare il suo valore attuale.
Qui si confluisce in quanto hai scritto ... si retrocede nel numero di estrazioni (vero zero) e
ad ogni retrocessione aumenta di una unità il "Ritardo di Livello" ...
fino a quando non è il suo "inizio" e dunque si è calcolato il valore numerico
con cui si rappresenta il suo ritardo attuale.