Game of life

C# .NET Windows Forms Game of life

Už dlouho jsem si chtěl vyzkoušet dát dohromady algoritmus Game of life - http://cs.wikipedia.org/…_%C5%BEivota , abych si s ním mohl hrát a zkoušet co umí. Při tvorbě jsem se trochu neudržel na uzdě a tak jsem postupně implementoval další a další funkcionality.

V současné době program umí:

  • Nastavovat si velikost pole v určitém rozmezí
  • Pohodlné nastavení živých/mrtvých buněk
  • Rychlost generování další generace
  • Možnost nastavit si krom klasického Game of life (defaultně nastaveno) i jiné varianty
  • Udělat více kroků najednou bez zobrazení (objeví se jen výsledek)
  • Uložení výsledného obrázku
  • Načtení obrázku uloženého v tomto programu a zpracování jej
  • verze 1.0.2 - možnost výběru ohraničené/ne­ohraničené pole
  • verze 1.1.0 možnost ukládání do gifu

Aplikace nebude mít žádný velký přínos, je to spíš o tom si s tím pohrát a pak se dívat, co z toho vznikne. Já se u tohoto programu naučil mimo jiné i doublebuffering a pokus o zpracování obrázku.

Osobně doporučuji nastavit počet polí na 80, rychlost na +-1,5 kliknout na tlačítko generate, nastavit v Revive ke trojce ještě 0, pak odditerovat 50-200 tahů a dát start.

Aplikace by měla být dokončená a plně funkční, ale případné chyby (nejkritičtější místo je zpracování obrazu) může stále obsahovat chyby. Ty když tak piště sem.


Galerie

Program byl vytvořen v roce 2013.

 

Stáhnout

Staženo 184x (31 kB)

 

  Aktivity (1)

Program pro vás napsal martinsakra
Avatar
Autor programuje v C# a Javě + dělá v Unity3D

Jak se ti líbí článek?
Celkem (1 hlasů) :
4444 4


 


Miniatura
Všechny články v sekci
Okenní aplikace v C#

 

 

Komentáře

Avatar
David Čápka
Tým ITnetwork
Avatar
David Čápka:

Nekreslíš v události Paint. Co se týče rozšíření, překvapilo mě, že automat funguje skvěle i s jinými podmínkami.

Odpovědět 17.4.2013 13:38
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
martinsakra
Redaktor
Avatar
Odpovídá na David Čápka
martinsakra:

Rychlý bugfix a nahrána verze 1.0.1
Ale jo docela mě překvapilo s jakými podmínkami to funguje docela dobře, a s některými které na první pohled vypadají že by měli fungovat umírají dost rychle

Odpovědět 17.4.2013 21:13
Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na martinsakra
David Čápka:

Chybí mi tam možnost nastavit zdá se má plocha chovat jako ohraničená nebo jako koule (co vyleze vlevo se objeví vpravo atd.) Jinak viděl jsi tohle video? http://www.youtube.com/watch?…

Editováno 17.4.2013 21:22
Odpovědět  +2 17.4.2013 21:22
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
martinsakra
Redaktor
Avatar
Odpovídá na David Čápka
martinsakra:

To je drsné video. Ale pravda na ohraničení jsem zapomněl aspon vím co vylepšit. Jinak přemýšlel jsem o nějaké jednoduché možnosti jak donutit program ukládat sled obrázků v nějaké animaci - giff, klidně i video. Ale v základu C# to evidentně nezvládá nebo nijak jednoduše jsem nenašel, jen přes externí knihovny

Odpovědět 17.4.2013 21:27
Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na martinsakra
David Čápka:

On je gif dost šmejdský formát, MS ho nemá rád. Bohužel na animace zatím nic jiného není. Externí knihovny určitě seženeš a bylo by to dobré. Dala by se tak udělat encyklopedie té havěti, vždycky hýbací obrázek a počáteční fáze.

Odpovědět 17.4.2013 21:31
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
martinsakra
Redaktor
Avatar
martinsakra:

Nahraná nová verze která dovoluje zvolit si ohraničenou nebo neohraničenou plochu.

Odpovědět 23.4.2013 12:33
Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na martinsakra
David Čápka:

Proč je No edges zašedlé?

Odpovědět 23.4.2013 12:43
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
martinsakra
Redaktor
Avatar
Odpovídá na David Čápka
martinsakra:

No edges je zašedlé pokaždé když program žije. + zapomněl jsem ohlídat opět zapnutí když se život automaticky vypíná (když je další iterace stejná), tj stává se to když dáš generate a hned start. Nahrál jsem opravenou verzi. Do té doby se to dá vyřešit. Tak že dáš nějaký obsah klikneš start a pak znovu klikneš na stop, což ti znovu aktivuje No edges.

Odpovědět 23.4.2013 13:23
Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovědět 23.4.2013 13:33
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.