JanKoWeb: Programování - Program Mravenci 2.0

Program Mravenci 2.0

Program Mravenci 2.0Program Mravenci 2.0 je jednoduchý simulátor mravenců-uklízečů. Jejich úkolem je sbírat rozmístěné předměty a postupně je snosit na co nejmenší počet hromádek...

Proč Mravenci?

Tento prográmek jsem psal jako semestrální práci v prvním semestru na FELu v rámci předmětu Algoritmizace. Je napsaný v JAVE, k vykreslení grafického rozhraní je použito knihovny Swing. Jako téma jsem si vybral mravence, protože mě jejich počítačové simulace zaujaly.

Princip mravenců uklízečů

Program má simulovat chování mravenců-uklízečů. Jejich cílem je shromáždit rozmístěné předměty na co nejmenší počet kupiček, přičemž je toho docíleno víceméně náhodným pohybem. To znamená, že mravenci se pohybují náhodně, avšak objeví-li se v jejich okolí nějaký předmět, jdou k němu.

Přijdou-li pak k nějakému předmětu, chovají se podle jednoduchého algoritmu:
1) neseš-li předmět, polož ho a jdi pryč
2) neneseš-li předmět, seber ho
Kupodivu, tyto dvě pravidla stačí k tomu, aby se nicnetušící mravenci dali do úklidu.

Mravenci uklízí

Rychlost úklidu lze pak ovlivňovat silou mravenců (jsou naprogramování tak, že mohou přenášet několik předmětů najednou), "čichem" (což je vzdálenost, na kterou "cítí" předmět) a velikostí odskoku, což je vzdálenost, na kterou odejdou od právě položeného předmětu (to kvůli tomu, aby byli schopni vůbec předměty položit - byla-li by tato vzdálenost menší než "čich").

 Funkce programu

Samozřejmostí jsou funkce zobrazení, jako zvětšení mravenců (zoom), vykreslování cestiček, kudy si to mravenci štrádují či třeba reset a obnovení plochy. Pro samotné ovládání je pak důležitá možnost změny počtu mravenců, předmětů, velikost síly, čichu a odskoku (viz výše).

Vedlejší funkcí programu je pak možnost vykreslování věci nazývané Langtonův mravenec.

Langtonův mravenec

Hunter mod

Nadstandartem je pak tzv. Hunter-mod, který slouží k interaktivní změně počtu mravenců a rozptýlení uživatele. (K vytvoření Hunter modu došlo po dlouhé noci během které jsem se snažil mravence naučit, aby se laskavě občas sebraného předmětu vzdali, což odmítali přijmout;-) )

Hunter mod

Program Vám tedy může poskytnou i malé rozptýlení.-) a můžete si jej stáhnout.

Rubrika Programování | Tagy Mravenci, JAVA, Hra | Út 24.03.2009 | 5578x

Náhodné články

Tento web jsem zakládal na střední, v roce 2008. Je zde hlavně archiv mé tvorby.

Aktuální věci publikuji kvůli úspoře času na Twitter.

Honza

"K tomu, abychom mohli empatii dávat, potřebujeme ji sami dostávat."

M. Rosenberg