Olen tekemässä labyrinttiä Javalla. Ajattelin ratkaista generoinnin sillä että aluksi on kaikkien ruutujen välissä seinä. Sitten ruutuja aletaan yhdistämään. Kaikki yhdistetyt ruudut kuuluvat omaan listaansa ja listoja yhdistellään. Mikä olisi oikea tietorakenne tähän tilanteeseen.
Itse rakentaisin sillä tavalla, että taulukoidaan seinät (ei ruutuja) ja puhkotaan niitä.
Kuitenkin, suosittelen 2-ulotteista taulukkoa.
Ongelman tarkennus
Ajattelin itsekki käyttää taulukko ruutujen sijoittamiselle, mutta generaattorissa pitäisi olla sellainen ArrayList rakenne jossa on ArrayListoja ArrayListojen sisällä. Aluksi kaikilla ruuduilla olisi yksi Lista kun niitä yhdistelisi Yhdistyisivät listat. Näin lopuksi olisi yksi lista ja tietäisi, että kaikkiin ruutuihin pääsee. Haluaisin tietää onko ArrayListiä parempaa tietorakennetta olemassa tähän tapaukseen.
En tiä ymmärsinkö ton sun idean oikein mut mites HashMap?
Mites olis graafi?
kokeilen noita
Sellaninen yksinkertainenkin mahdollisuus kai on, että sen lisäksi että ruudut olisivat taulukossa omalla paikallaan, niillä olisi koordinaatit. Kun kaksi ruutua liitetään yhteen toinen saa toisen koordinaatit. Generointi loppuisi kun kaikilla olisi sama koordinaatti. Ruudun oikea paikka säilyisi tietysti taulukossa.
Yksi mahdollisuus olisi että ruudussa on seinä tai tyhjä. Käytävät tehdään "louhimalla" ruudukkoon sopivasti tyhjiä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.