Othello

C++ Linux Othello

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 18x (7.81 MB)
Aplikace je včetně zdrojových kódů v jazyce C

 

  Aktivity (6)

Hru pro vás napsal David Novák
Avatar
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 ANT@FIT (Accelerated Network Technologies).

Jak se ti líbí článek?
Celkem (2 hlasů) :
55555


 


Miniatura
Všechny články v sekci
Programování v jazyce C v Linuxu

 

 

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

Avatar
Atrament
Člen
Avatar
Atrament:

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. června 12:58
Avatar
Atrament
Člen
Avatar
Atrament:

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. června 13:00
Avatar
Odpovídá na Atrament
Luboš Běhounek (Satik):

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. června 13:27
:)
Avatar
David Novák
Tým ITnetwork
Avatar
David Novák:

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

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

Odpovědět 5. června 13:34
Chyba je mezi klávesnicí a židlí.
Avatar
David Novák
Tým ITnetwork
Avatar
Odpovědět 5. června 13:35
Chyba je mezi klávesnicí a židlí.
Avatar
LukyH
Člen
Avatar
Odpovídá na Atrament
LukyH:

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. června 13:41
Avatar
Atrament
Člen
Avatar
Odpovídá na David Novák
Atrament:

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. června 14:07
Avatar
Martin Dráb
Redaktor
Avatar
Martin Dráb:

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/…top/ms682600(v=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/…top/ms682586(v=vs.85).aspx) a pak to nějak spravit/nadávat na daný konkrétní problém.

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

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. června 17:10
Avatar
Atrament
Člen
Avatar
Odpovídá na LukyH
Atrament:

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. června 11:19
 
Odpovědět 6. června 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