Soutěž: Machr - Generování měst
Soutěž již skončila
Zadání
Letní soutěž skončila a je čas na machry
Začneme generováním měst. Vaším úkolem bude napsat aplikaci, která
dostane jako parametry string (název) a 2 čísla - šířku a výšku (obě
budou >= 1). Např.:
app.exe mesto 16 5
Aplikace pak vygeneruje 2 soubory:
<zadaný_název>.png (nebo jiný běžný typ obrázku)
- na obrázku bude vygenerované město, které bude vyplňovat celou jeho plochu
- město generujte pomocí nějakého tilesetu, ten můžete buďto sami vytvořit, nebo použít tento: https://www.dropbox.com/…_tileset.png
- města se skládají (pouze) ze silnic a budov
- alespoň 10% (zaokrouhleno nahoru) každého města musí tvořit budovy, budova však nikdy nesmí být plně obklopena dalšími budovami - alespoň na jednom sousedním poli musí být silnice
- alespoň 10% (zaokrouhleno dolů) každého města musí tvořit křižovatky
- silnice musejí tvořit souvislý graf (multigraf) = z libovolného místa na silnici musí být možno dojet na libovolné jiné místo
- dejte si pozor aby na sebe silnice opticky navazovaly
<zadaný_název>.dat
- soubor bude obsahovat popis multigrafu tvořícího město - vrcholy grafu budou křižovatky / konce silnice a hrany budou cesty mezi nimi
- reprezentaci grafu nechám na vás (spolu s řešením odevzdejte popis reprezentace), jediná 3 pravidla jsou:
- musí se jednat o textový formát
- musí odpovídat vygenerovanému městu - ke každému vrcholu nějak "připojte" jeho souřadnice na mapě
- hrany budou ohodnoceny svou délkou na mapě
- pozor na to, že mezi křižovatkami může vést cest více (pak uveďte všechny), může existovat i smyčka (cyklus) na které je jen 1 křižovatka - takové můžete vynechat
- tento soubor není povinný, pokud ho ale generovat budete, můžete za to získat až 20 bodů
Ukázka možného výstupu:
app.exe mesto 5 3
PNG: https://www.dropbox.com/…ya/mesto.png
DAT: https://www.dropbox.com/…k5/mesto.dat
použitý formát:
počet_vrcholů
vrcholy ve formátu [X;Y], kde X, Y jsou souřadnice, n-tý vrchol má číslo n
počet_hran
hrany ve formátu A(délka_hrany)B, kde A, B jsou čísla vrcholů, mezi kterými hrana vede
Celkem lze získat nejvýše 100 bodů:
- max 15 bodů za kód
- max 45 bodů za generování města
- max 20 bodů za generování popisu grafu
- max 20 bodů za "bezchybnost"
Povolené jazyky jsou C#, Java, C++, chcete-li použít jiný, zeptejte se v komentářích
Výhra
Vítěz dostane placku Machr a ocenění do portfolia.
Výsledky
Jméno | bodů | Řešení ( Stáhnout vše ) |
---|---|---|
Mexikánec | 77 | Stáhnout řešení |
Ladislav Ondris | 48 | Stáhnout řešení |
DarkCoder | 38 | Stáhnout řešení |
Tvůrce
Zobrazeno 48 zpráv z 48.