Grazie mille per i complimenti!
Riguardo ai livelli casuali, a parte la cornice esterna, inizialmente riempio il campo di gioco di singoli blocchi lasciando vuote le righe e le colonne pari (questa disposizione è uguale per tutti i livelli), poi lascio che il programma vada ad unire fra loro i blocchi in modo casuale, a condizione che non vengano creati muri troppo lunghi o di forma diversa da muri dritti, a L oppure a T. Grosso modo questo è il sistema che utilizzo.