Othello

C a C++ Céčko Linux Othello

Unicorn College ONEbit hosting Tento obsah je dostupný zdarma v rámci projektu IT lidem. Vydávání, hosting a aktualizace umožňují jeho sponzoři.

Tato hra vznikla v rámci školního projektu do Semináře C++ a to ve spolupráci s Romanem Ondraszkem. Cílem bylo vyzkoušet si OOP a návrhové vzory. Dokumentace je generována pomocí doxygenu přímo ze zdrojového kódu.

O hře

Othello je logická, desková hra pro dva hráče. Cílem je mít na ploše více kamenů, než protihráč. Kameny protihráče je možné otáčet tak, že umístíte kámen tak, aby mezi ním a jiným vaším kamenem byla nepřetržitá řada (tedy 1 a více) kamenů protihráče. Všechny tyto kameny jsou pak otočeny na vaši barvu. Detailnější popis pravidel najdete na Wikipedii.

Stažení

Ke stažení jsou k dispozici binárky pro Windows i Linux. K binárce pro Windows jsem přiložil i potřebné knihovny. Pro spuštění GUI verze pro Linux je třeba mít nainstalované Qt 5. CLI verze nevyžaduje nic (je vytvořena v čistém, standardním C++). Zdrojové kódy najdete na Githubu.


Galerie

Hra byla vytvořena v roce 2016.

 

Stáhnout

Staženo 24x (7.81 MB)
Aplikace je včetně zdrojových kódů v jazyce C

 

 

Hru pro vás napsal David Novák
Avatar
Jak se ti líbí článek?
2 hlasů
Autor v současné době studuje FIT VUT Brno a zajímá se především o nízkoúrovňové programování (C/C++, ASM) a návrh hardwaru (VHDL). Je zde také členem výzkumného týmu [email protected] (Accelerated Network Technologies).
Aktivity (6)

 

 

Komentáře
Zobrazit starší komentáře (13)

Avatar
Atrament
Člen
Avatar
Atrament:5.6.2016 12:58

Updatnul jsem ten zip - přidal jsem knihovnu qwindows.dll, dočetl jsem se, že by to mohlo vyřešit ten problém

 
Odpovědět 5.6.2016 12:58
Avatar
Atrament
Člen
Avatar
Atrament:5.6.2016 13:00

To je sice moc hezké, ale přesvědčit linuxáky, aby si nainstalovali Mono je docela oříšek - pamatuju doby kdy Mono bylo v linuxových kruzích prakticky sprosté slovo...

 
Odpovědět 5.6.2016 13:00
Avatar
Luboš Satik Běhounek
Autoredaktor
Avatar
Odpovídá na Atrament
Luboš Satik Běhounek:5.6.2016 13:27

To už je pak jejich problém, já zase na svůj počítač nepouštím Javu :D
Jinak teď už na Linuxu Mono nepotřebuješ vůbec, když už je .NET opensource.

Odpovědět 5.6.2016 13:27
https://www.facebook.com/satikstrategy/
Avatar
David Novák
Redaktor
Avatar
David Novák:5.6.2016 13:34

Mám v plánu někdy zkusit.. ;)

Někdo nějaké zkušenosti s GTK?

Odpovědět 5.6.2016 13:34
Chyba je mezi klávesnicí a židlí.
Avatar
David Novák
Redaktor
Avatar
Odpovídá na Atrament
David Novák:5.6.2016 13:35

Nevyřešil.. :/

Odpovědět 5.6.2016 13:35
Chyba je mezi klávesnicí a židlí.
Avatar
LukyH
Člen
Avatar
Odpovídá na Atrament
LukyH:5.6.2016 13:41

Stále vedle. Tak jak by měl deployment pro windows vypadat popisuje hezky jejich wiki: https://wiki.qt.io/…n_on_Windows . Další zajímavé čtení pro dlouhé večery zde: http://doc.qt.io/…loyment.html . V tomto případě pomůže když v se vytvoří podsložka platforms a do ní se qwindows.dll přesune.

 
Odpovědět 5.6.2016 13:41
Avatar
Atrament
Člen
Avatar
Odpovídá na David Novák
Atrament:5.6.2016 14:07

Občas člověk fakt ocení unix/linuxový přístup ke sdíleným knihovnám (a to už ho hezkých pár let linux na desktopu nepoužívám) :)

Zkusil jsem to ještě jednou updatnout, tentokrát jsem vytvořil podadresář platforms kam jsem přesunul tu qwindows.dll (a v duchu si říkám zlatá java :)

Jaký windows máš? Já to kompiloval na Windows 10, 64bitových, ale kompiloval jsem to pro 32bitovou architekturu (ve snaze 'aby to jelo na všem')

LukyH: tak ten první odkaz už jsem četl, docela masakr přístup - nakopírovat všechno, spustit aplikaci a dát všechno smazat s tím, že to co ta aplikace k běhu potřebuje, to smazat nepůjde :)) Problém je v tom, že u mně ta aplikace prostě v pohodě běží tak jak jsem ji zabalil do toho zipu co jsem tu vystavil. Takže chyba tam musí být ještě někde jinde :(

 
Odpovědět 5.6.2016 14:07
Avatar
Martin Dráb
Redaktor
Avatar
Martin Dráb:5.6.2016 15:35

Bohužel na Windows se tohleto moc nenosí, takže je třeba dodat ty knihovny s aplikací. Ono jich zas tak moc není aby se to nedalo zvládnout, ale je fakt že nějaká obdoba linuxového ldd by situaci mnohem zjednodušila :)

Ono by asi nebyl problém vydat nějaké "Qt redistributable", ale jelikož Qt mění interface (což vede ke změně názvů exportovaných funkcí, neb jsou to C++ fce), tak by to až takový kýžený efekt nemuselo mít (pořád bys musel zajistit, aby to našlo správnou verzi DLLky... což teda myslím přes DLL redirection jde, ale je tam zkrátka pár věcí navíc, co musíš udělat). Mám ale pocit, že lidé od Qt jsou líní vydat třeba Qt binárky pro x64. To pak s tím člověk moc neudělá (krom toho, že si to sám zkompiluje a bude zase v pekle :-).

https://msdn.microsoft.com/…=vs.85).aspx

Ono by tady právě bylo lepší místo hádání, čím to je, pustit nástroj typu Process Monitor a podívat se, odkud se ta aplikace ty knihovny snaží brát. Pak si přečíst třeba o tom, jak Windows ty knihovny vyhledávají (https://msdn.microsoft.com/…=vs.85).aspx) a pak to nějak spravit/nadávat na daný konkrétní problém.

Odpovědět 5.6.2016 15:35
2 + 2 = 5 for extremely large values of 2
Avatar
LukyH
Člen
Avatar
Odpovídá na Atrament
LukyH:5.6.2016 17:10

Problém je v tom, že u mně ta aplikace prostě v pohodě běží tak jak jsem ji zabalil do toho zipu co jsem tu vystavil. Takže chyba tam musí být ještě někde jinde :(

Domnívám se, že problém bude v tom, že již máte Qt nainstalované a při spuštění aplikace si tu knihovnu prostě najde v systémové instalaci. Je prostě nutné dodržet uvedená pravidla/postup pro šíření qt aplikace.

 
Odpovědět  +1 5.6.2016 17:10
Avatar
Atrament
Člen
Avatar
Odpovídá na LukyH
Atrament:6.6.2016 11:17

Domnívám se, že problém bude v tom, že již máte Qt nainstalované a při spuštění aplikace si tu knihovnu prostě najde v systémové instalaci.

To mě taky napadlo, ale ono mi to funguje i když tu Qt instalaci 'skryju' (přejmenováním adresáře s qt na něco jiného). Předpokládám, že pak Windows není schopný ty knihovny najít a musí si vystačit s tím co jsem mu nakopíroval k té aplikaci.

Editováno 6.6.2016 11:19
 
Odpovědět 6.6.2016 11:17
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 10 zpráv z 23. Zobrazit vše