Autor | Zpráva | ||
---|---|---|---|
final Profil |
#1 · Zasláno: 2. 6. 2013, 11:30:39
Zdravím,
potreboval by som vytvoriť takúto štruktúru: 0 1 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 1 // 0 - pozadie, 1 - dedina |
||
juriad Profil |
#2 · Zasláno: 2. 6. 2013, 11:38:14
Zkus se víc rozepsat, tobě to nejspíš jasné o čem píšeš, ale nám opravdu ne.
Jde o dvojrozměrné pole, nebo jinou datovou strukturu; je velikostně omezené? Jak je reprezentovaná dědina? Jaké je pravidlo generování? |
||
final Profil |
juriad:
Mám na mysli generovanie dedín(na mapu), klasicky pre prehliadačovú hru, klasicky vo väčšine hier sa dediny generujú vedľa seba teda tou štruktúrou ako som napísal ja v php mám prakticky toto $posledna_pridana_dedina_x = 1; $posledna_pridana_dedina_y = 1; narýchlo som niečo spravil v js na ukážku.. tam je ale problém že by štruktúra vypadala nejak takto: 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 |
||
abc Profil |
#4 · Zasláno: 2. 6. 2013, 14:35:23
A co je na tomto špatně? juriad se ptal na pravidlo generování, které jsi stále nedodal
1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 |
||
final Profil |
#5 · Zasláno: 2. 6. 2013, 21:37:31
abc:
majú byť vedľa seba teda nejak takto: 1 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 |
||
abc Profil |
#6 · Zasláno: 2. 6. 2013, 21:53:14
Vždyť vedle sebe nejsou, jen jich tam je víc?
Ačkoliv teď, když do toho koukám delší dobu, zdá se mi, že mezi dedinami je vždy max jedna 0? Bez nějakého popisu, jak jsi na to přišel, že mají být takto, to půjde jen těžko |
||
Alphard Profil |
#7 · Zasláno: 2. 6. 2013, 23:34:25
Nebo jde o to, aby hustota pokrytí byla na celé mapě přibližně stejná? Tj. roházet body, aby se nikde nekoncentrovaly,ani nevznikala bílá místa?
|
||
peta Profil |
final: Nerozumim. Jaka jsou pravidla pro pridani dalsi vesnice?
1. musi byt mezi nimi ve smerech x, y, xy aspon jedna nula 2. musi byt pocet 10 3. musi byt rozmisteny rovnomerne 4. pole musi byt 7x6 To jsou pravidla? Pole je rekneme 7x6, cili array se 42 policky. Pokud musi byt kolem vesnice okraj, tak pri zapisu vesnice zapisi vesnici jako 2 a okraj jako 1. Pri randomu pak porovnavam pole[i*7+j]==0 , cili neni to ani okraj 1 ani vesnice 2.
Rovnomernost se zase muze resit tak, ze rozdelis celou mapu na stejne oblasti podle poctu vesnic a v nich nahodne umistis vesnici. V tomto pripade ale vyzaduje kazda vesnice aspon 9 policek, aby ji bylo mozne v pripade potreby umistit do stredu nebo na okraj oblasti. Nebo pouzit slozitejsi algoritmus, kde muze byt hustota vetsi. Googlem bys jiste nasel spoustu generatoru map a podzemi. --- http://www-cs-students.stanford.edu/~amitp/game-programming/polygon-map-generation/mapgen2.swf - pekna hracka s exportem do xml :) Je treba klikat na random http://volny.cz/peter.mlich/hry/lode.htm - treba by ti stacilo to, co pouzivam na Lode; Start, Reset+Auto, Reset+Auto |
||
Časová prodleva: 11 let
|
0