Forum » Programiranje » [C#, Pseudo] Generiranje labirinta oz. ovir
[C#, Pseudo] Generiranje labirinta oz. ovir
c0dehunter ::
Zdravo, delam eno igro, ki je sicer irelevantna pri tem vprašanju. Namreč prva stopnja je generiranje nekakšnega labirinta, ki to pravzaprav ni, saj gre bolj za ovire na mapi in ne za eno samo možno pot od starta do cilja, saj pri tej igri ni starta in ni cilja - so samo ovire na poti, ki bi lahko bile malenkost bolj kompleksne.
Za začetek sem se sam vrgel v izdelavo takega kvazi-algoritma*, vendar rezultati niso zadovoljivi. Pomislil sem, da mogoče že obstaja kakšen namenski algoritem, vendar ga nisem našel. V poštev bi prišli kakšni namigi, kako naj izvedem tak algoritem, psevdokoda, search stringi, karkoli :)
*Mapa je predstavljena z NxN matriko. Trenutno generiram za vsako liho vrstico oz. stolpec (oz. kakšna se po random tudi izpusti) naključno dolg zid. Kjer se na koncu zidovi sekajo, pobrišem par najbližjih sosedov, da ustvarim prehode.
Za začetek sem se sam vrgel v izdelavo takega kvazi-algoritma*, vendar rezultati niso zadovoljivi. Pomislil sem, da mogoče že obstaja kakšen namenski algoritem, vendar ga nisem našel. V poštev bi prišli kakšni namigi, kako naj izvedem tak algoritem, psevdokoda, search stringi, karkoli :)
*Mapa je predstavljena z NxN matriko. Trenutno generiram za vsako liho vrstico oz. stolpec (oz. kakšna se po random tudi izpusti) naključno dolg zid. Kjer se na koncu zidovi sekajo, pobrišem par najbližjih sosedov, da ustvarim prehode.
I do not agree with what you have to say,
but I'll defend to the death your right to say it.
but I'll defend to the death your right to say it.
_Dormage_ ::
Kaj pa ti pri trenutnem rezultato ni všeč?
V katero smer bi rad izboljšal algoritem? gostota?
V katero smer bi rad izboljšal algoritem? gostota?
Mitja Bonča ::
Če ti bo kaj v pomoč, mi lahko pošlješ trenutno kodo, jo bom malce pregledal (mbonca@gmail.com).
lp,
Mitja
lp,
Mitja
c0dehunter ::
Sem malce priredil tole svoje generiranje in prišel do zadovoljivega rezultata :)
Včasih se še tu pa tam pojavi kakšno zaprto območje.. to še odpravim pa bo.
Včasih se še tu pa tam pojavi kakšno zaprto območje.. to še odpravim pa bo.
I do not agree with what you have to say,
but I'll defend to the death your right to say it.
but I'll defend to the death your right to say it.
Zgodovina sprememb…
- spremenilo: c0dehunter ()
DavidJ ::
Mogoče bi šlo lažje, če bi se problema lotil od zadaj. Na začetku ni ovir in si zmisliš eno pot. Nato pa stalno dodajaš ovire, dokler število možnih rešitev ne zmanjšaš do željenih.
"Do, or do not. There is no 'try'. "
- Yoda ('The Empire Strikes Back')
- Yoda ('The Empire Strikes Back')
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Amazon je moral ukiniti pristranski AI za pomoč pri zaposlovanju (strani: 1 2 3 )Oddelek: Novice / NWO | 24262 (21480) | gtu |
» | Uberjev samovozeč program caplja za konkurenco (strani: 1 2 3 )Oddelek: Novice / Znanost in tehnologija | 34934 (29692) | krneki0001 |
» | Z Nvidio vedno sije sonce (strani: 1 2 )Oddelek: Novice / Grafične kartice | 19128 (15523) | D3m0r4l1z3d |
» | Pomoč [povečanje slike tako da kakovost te ostane enaka]Oddelek: Pomoč in nasveti | 4488 (3841) | opeter |
» | Google Brain omogoča povečanje ločljivosti fotografijOddelek: Novice / Znanost in tehnologija | 12339 (9469) | Shegevara |