Miny v ncurses módu

March 16, 2007 on 11:06 pm | In Programing |

Semotamo hrávám ve škole se spolužáky miny. Jistě tuto návykovou hru znáte z Windows či KDE. Máte různě velké hrací pole, kde pomocí číselných údajů, kolik se v okolí nachází ukrytých min, musíte odhalit kde jsou ukryty. Klon min pro KDE (nesoucí “překvapivě” jméno kmines) se bohužel na touchapu notebooku velice špatně ovládá - ne vždy mám USB myš připojenu (někdy se to prostě nehodí ;-) ). Tedy s pohyby problém není, ten je až s tlačítky, kdy se častokrát omylem překliknete a hru prohrajete… :-(

Čistě náhodou jsme po cestě z vlaku do školy rozebírali miny s jedním spolužákem a bavili se jak by asi bylo težké je naprogramovat. Tvrdil jsem, že na implementaci se jedná o jednoduchou záležitost. Abych svá slova mohl taky něčím podpořit, tak jsem v rámci odreágovávání od školy (a přípravy na různe akce - NSZ, maturitu, přijímačky) vytvořil strašně jednoduchou (500 řádkovou) verzi min. Ta běží konzolově v ncurses módu a ovladatelná je přes klávesnici (což se mi na druhou stranu hodí do školy :-) )

Instalace

Strašně jednoduchá. Stáhněte si zdrojové kódy a přeložte je:

gcc miny.c -o miny -lncurses
(Jak jde vidět, jedná se o C aplikaci a jediná závislost je knihovna ncurses)

Ovládání

Šipky - pohyb pro hracím poli
Mezerník - označení pole, “Tady je mina”, účelem je takto označit všechny miny
Enter - odhalení pole (v případě, že se jedno o minu, tak game over)
Escape - konec, na některých terminálech nutno zmáčknout 2x

Možnosti

-h, –help : Zobrazí nápovědu
-m, –mines : Nastaví počet min v poli (defaultně 125)
-x, –width : Nastaví šířku hracího pole (implicitně 25)
-y, –height: Nastaví výšku hracího pole (výchozí hodnota je 25)

Obrázky

miny.png miny1.png

No Comments yet »

RSS feed for comments on this post. TrackBack URI

Leave a comment

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

Powered by WordPress with Pool theme design by Borja Fernandez.
Entries and comments feeds. Valid XHTML and CSS. ^Top^