Generátor máp
V predchádzajúcom kvíze, Online test znalostí PHP, sme si overili nadobudnuté skúsenosti z kurzu.
Jednoduchá PHP aplikácia, ktorá slúži na vytvorenie náhodného herného ostrova na základe zadaných parametrov.
Mapa ostrova sa vykreslí ako PNG obrázok. Generátor funguje priamo na map.towns.cz.
Celý princíp je naozaj veľmi jednoduchý a je rozdelený do troch krokov. Všetko som opísal priamo v kódov. Samotný generátor postupne vytvorí:
Ostrov (pobrežie)
Ostrov sa generuje pomocou náhodne kmitajúceho bodu. Pozícia bodu sa na začiatku náhodne vyberú. Akonáhle bod narazí na okraj mapy, jeho pozícia sa vygeneruje znovu.
![ostrov - Online kurzy programovania v PHP - Najväčší slovenský e-learning](images/9049/aa.png)
Rieky
Pri každej rieky je vybraný počiatočný bod a smer. Potom sa kreslí rieka, ktorá náhodne mení smer. Až narazí na more alebo okraj mapy, začne sa generovať nová. Celý proces sa niekoľkokrát opakuje. (Záleží na parametra dĺžka riek)
![rieky - Online kurzy programovania v PHP - Najväčší slovenský e-learning](images/9049/bb.png)
Ďalšie terény:
Ďalšie terény sa generujú obdobne ako samotný ostrov. Môžu však naraziť ako na more, tak na rieku alebo ďalšie iný terén.
![Ďalší terény - Online kurzy programovania v PHP - Najväčší slovenský e-learning](images/9049/cc.png)
Ďalšími terény sú:
- dlažba
- sneh / ľad
- piesok
- kamenia
- hlina
- soľ
- tráva (toxic)
- les
- rieka
- tráva (jar)
- tráva (požité)
Terény si môže každý upraviť / prepísať. Tieto konkrétne používam vo svojej hre towns.cz
Po vykonaní týchto troch krokov sa z poľa vytvorí PNG obrázok s mapou.
Vo svojej hre mám nástroj, ktorý vie na základe týchto mapových obrázkov vytvoriť ostrov pre skutočné hráča:
![Veľmi malý skúšobný svet vygenerovaný z obrázku mapy. - Online kurzy programovania v PHP - Najväčší slovenský e-learning](images/9049/small_ww1_h720_1408828283_23_8_2014.png)
Budem rád za akékoľvek nápady a postrehy.
Galéria
![](images/554419059d4eb_image_0_thumb.png)
![](images/554419059d4eb_image_1_thumb.png)
![](images/554419059d4eb_image_2_thumb.png)
Stiahnuť
Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami
Stiahnuté 140x (35.57 kB)
Aplikácia je vrátane zdrojových kódov v jazyku PHP