Informazioni di base: Sto costruendo un generatore di labirinti 2D. Ho provato l'algoritmo di Prim, l'algoritmo di Wilson e un algoritmo di backtrack ricorsivo per generare il mio labirinto, tuttavia non ero soddisfatto della difficoltà di nessuno. Ho deciso di creare il mio. Ho deciso che due cose rendono difficile un labirinto. Innanzitutto, i labirinti possono avere molte intersezioni e scelte da fare. Secondo, possono essere disorientanti e farti perdere la strada. Ho deciso di creare un albero per rappresentare le intersezioni e i vicoli ciechi in un labirinto e connettere ogni nodo dell'albero con un percorso generato a caso per disorientare gli utenti.
Il problema: Se inizio a generare le celle nel labirinto dell'albero, potrei scoprire che un nodo non ha la stanza di cui ha bisogno per connettersi o creare i suoi figli. Come posso risolvere o evitare questo problema?
I miei pensieri: Sembra che ci potrebbe essere un modo per farlo dividendo il labirinto in sezioni e suddividendole, ma ciò non garantisce ancora spazio sufficiente alla fine della divisione. Potrei anche provare a iniziare in piccolo e lavorare su, suddividere aree più piccole e quindi creare connessioni tra di loro, ma che potrebbe ancora imbattersi in problemi di pathing con non avere abbastanza spazio per collegare le sezioni insieme o addirittura creare percorsi molto lunghi tra le sezioni .
Sto usando una griglia esagonale, ma qualsiasi soluzione che voi vieni per le griglie rettangolari dovrebbe essere facile da trasferire a una esagonale.
Non ero sicuro se questo dovesse essere pubblicato nella sezione di informatica teorica o qui, e ho optato per quello più generale.