Portál AbcLinuxu, 1. května 2025 04:50

Moje hračičky II

24.8.2011 21:02 | Přečteno: 2285× | Linux | poslední úprava: 25.8.2011 00:32

Po úspěchu prvního blogu o svých hračičkách jsem se rozhodl prezentovat ještě jednu várku her mé programátorské dílny. Tentokrát jsou informace o ovládání a možnostech hry v README či na příslušných stránkách, takže v blogu najdete spíše povídání kolem. Asi bych i ocenil nějakou radu, kam to pořádně publikovat.

Začneme něčím, co moje hračička není. Přesto na tom mám jisté zásluhy.

Fish Fillets [link]

Závislosti: SDL, lua

Znáte? Česká logická hra, kde je cílem dostat ven dvě ryby. A aby to nebyla taková nuda tak do toho ty ryby navíc kecají humorné hlášky. Já jsem do tohoto projektu přispěl jen osmi novými místnostmi (větev navazující na Nepořádek v kotelně kromě místnosti Zámek a klíč). Doufám, že jsem těmito místnostmi příliš nepoškodil vtipnost a obtížnost hry. Pro motivaci: poslední místnost je o linuxácích.

Kromě toho se mi povedlo přesvědčit vývojáře, aby zlepšil undo, protože vrácení jednoho tahu za dvě sekundy bylo k nevydržení. Bylo by blaze, kdyby měly všechny projekty takhle vstřícné vývojáře.

Když jsem předváděl tuto hru českému týmu mezinárodní matematické olympiády, byla kritizována především nelogická pravidla. A když jednou někdo při hraní prohlásili, "Jejda, já zapomněl, že tam není tření", napadlo mě to tření implementovat.

Fish Fillets Clone [link]

Závislosti: Xlib, cairo, lua

Funguje tu tedy pravidlo: když se pohne předmět, pohnou se i ty, ne které na něm leží.

Nabízí se otázka: proč jsem nevyužil kód původních rybiček, stačila přece jenom lehká změna v pravidlech. Nerad se totiž rýpu v cizím kódu. I když jsem v původním zdrojáku našel soubor Rules.cpp, je zásah do do tohoto souboru obtížný a nejistý. Můj program tedy neumí animace ani zvuk. Ale zase zvládá více uložených pozic a to i s undem.

Pong [download]

Závislosti: Xlib, volitelně openAL (zvuk)

Nevěřili byste, jak je mezinárodní matematická olympiáda tvůrčí prostředí. To nás tak jednou napadlo naprogramovat pong, protože ten v Emacsu je jaksi příliš zabugovaný. První pong začal být programovaný v javě, dokonce více lidmi. Já jsem k programování v týmu skeptický. Moje teorie je, že když jeden programátor naprogramuje software za jeden den, tak pět programátorů naprogramuje ten samý software za pět dní.

A javu taky nemám moc rád. Prostě jsem se rozhodl, že to musím mít rychleji a lépe. A měl jsem. Zatímco javovský pong umožňuje jen jednu hru a je to tak pomalé, že takřka není možné prohrát, ten můj je skvěle hratelný. Navíc disponuje možností střílení šípu, aby se nenudil hráč, od něhož zrovna míček letí.

Další šikovná vlastnost tohoto programu je, že velikosti objektů se odvíjejí od velikosti obrázků, takže je možné například změnou velikosti destičky dát jednomu hráči výhodu.

A nakonec tu je i možnost ovládání soupeře počítačem. Porazit tento počítač není nemožné, například na screenshotu nad ním vedu 21:15, ale pokud se vám bude dařit ho dlouhodobě porážet, máte můj obdiv.

Piškvorky [download]

Závislosti: GTK

To byl jeden ne úplně vydařený pokus naprogramovat počítač, co přemýšlí nad hrou. Problém je v tom, že počítač přemýšlí půl minuty a přesto není nijak neporazitelný. Ale úplně blbý zase taky není, chce to vyzkoušet. Hraje se na toru a nejlépe se mu daří ne 7x7.

Začal jsem s něčím, co sice je hračička, ale není moje, skončím s něčím, co je moje, ale není to zas tak úplně hračička. To jsem si jednou naanimoval video v blenderu.

Krychle [download]

Závislosti: mplayer, VLC nebo jiný přehrávač, co to zvládne (třeba Windows Media Player ne)

A to je vše. Jestli se vám něco líbilo, napište komentář.

       

Hodnocení: 91 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

oroborus avatar 24.8.2011 22:26 oroborus | skóre: 20 | blog: Bulanci
Rozbalit Rozbalit vše Re: Moje hračičky II
Odpovědět | Sbalit | Link | Blokovat | Admin
Pozrel som si stranku Fish Fillets Clone v FAQ tam je napisane:

>>Proč ne SDL?

>>1) většina SDL tutoriálů je udělána tak, že opakuje smyčku bez jakéhokoli čekání.

Funkcia SDL_WaitEvent, naozaj caka dokedy neprisla do fronty nejaka udalost.

>>SDL neagresivní fullscreen (který nemění rozlišení a neblokuje WM).

Ano pri fullscreene sa naozaj meni rozlisenie obrazovky. Napriklad ked program bezi v okne s rozlisenim 800x600, tak sa naozaj pokusi pri fullscreene prepnut na rozlisenie 800x600. (neprijemne, ked sa program zruti)
mirefek avatar 24.8.2011 23:10 mirefek | skóre: 6 | blog: proc_dalsi_nazev
Rozbalit Rozbalit vše Re: Moje hračičky II
Funkcia SDL_WaitEvent, naozaj caka dokedy neprisla do fronty nejaka udalost.
To jsem věděl, že něco takového existuje. Ale že ty příklady na SDL to nepoužívají ve mně vyvolává pochyby.
Ano pri fullscreene sa naozaj meni rozlisenie obrazovky. Napriklad ked program bezi v okne s rozlisenim 800x600, tak sa naozaj pokusi pri fullscreene prepnut na rozlisenie 800x600. (neprijemne, ked sa program zruti)
Mně vadí změna rozlišení třeba i proto, že velikost hry může být jiná než velikost velikost obrazovky a pak se to nepěkně deformuje. A samozřejmě taky to, že když mám SDL hru na fullscreenu, tak nemohu přepnout do jiné plochy. Zkrátka to se mi na SDL jeví dost nedomakané, třeba Glut umí pěkný fullscreen.
Chytrex avatar 24.8.2011 23:31 Chytrex | skóre: 30 | Bohumín
Rozbalit Rozbalit vše Re: Moje hračičky II
Odpovědět | Sbalit | Link | Blokovat | Admin
Tyjo.. ty piškvorky vypadají docela nice.. On tady kdysi byl projekt na piškvorky přes Jabber.. Jediná chybka byla, že to bylo v Pythonu a tudíž ne moc BFU friendly.. Hodilo by se něco ve stylu kliknu na binárku, zadám jabber účet, klik na roster == pozvat a prostě hrát s kamarádem..:)
Hrdý člen KERNEL ULTRAS .:. define QUESTION ((bb) || !(bb)) .:. Odmítám vaši realitu a nahrazuji ji svou vlastní..
mirefek avatar 24.8.2011 23:42 mirefek | skóre: 6 | blog: proc_dalsi_nazev
Rozbalit Rozbalit vše Re: Moje hračičky II
Šlo by to? Je pravda, že ty piškvorky spolupracují s externí negrafickou aplikací, která počítá tah. Ale jak se kódí komunikace přes jabber nemám ponětí.

Jinak to GUI je to nejjednodušší, co jsem mohl udělat. Dokonce křížky a kolečka jsou jen 'O'-čka a 'X'-ka. Takové ff-clone má mnohem vymazlenější grafiku.
25.8.2011 00:20 chrono
Rozbalit Rozbalit vše Re: Moje hračičky II
Tieto piškvorky cez xmpp fungujú. Sú urobené v python a keďže používajú Tkinter vyzerajú mierne škaredo, ale ich používanie je jednoduché (práve som ich testoval a stále fungujú).
Salamek avatar 25.8.2011 08:49 Salamek | skóre: 22 | blog: salamovo
Rozbalit Rozbalit vše Re: Moje hračičky II
wow, vykradu odtamtud komunikaci a zkusim napsat nejakou dalsi easy gamesu pro jabber... :-D
Skutečně nemám v plánu zničit Microsoft. Bude to jen zcela neúmyslný vedlejší efekt.
Salamek avatar 25.8.2011 08:57 Salamek | skóre: 22 | blog: salamovo
Rozbalit Rozbalit vše Re: Moje hračičky II
aha, pouziva se tam pyxmpp pro komunikaci, zbytes si ur resi sami
Skutečně nemám v plánu zničit Microsoft. Bude to jen zcela neúmyslný vedlejší efekt.
26.8.2011 03:35 jk0man | skóre: 4 | blog: jk0blog
Rozbalit Rozbalit vše Re: Moje hračičky II
Odpovědět | Sbalit | Link | Blokovat | Admin
Fish fillets clone se mi opravdu líbí. Originální FF jsem hrával před léty, a nová grafika, nová pravidla a nové úrovně mě těší :) Nicméně jste si jist, že se dá vyřešit 3. level (Počkej, nezabouchávej!)?
26.8.2011 08:17 SPM | skóre: 28
Rozbalit Rozbalit vše Re: Moje hračičky II
V originále hlavně šly některé levely řešit jenom jednou :))) třeba takovou lodní kuchyni - tu jsem jednou dal, pak jsem přišel o savy a už se mi to nikdy nepovedlo :D
mirefek avatar 26.8.2011 11:17 mirefek | skóre: 6 | blog: proc_dalsi_nazev
Rozbalit Rozbalit vše Re: Moje hračičky II
Na tohle odpovídám ve FAQ ;) Ano, všechno má řešení, i počkej, nezabouchávej.

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.