Společnost IBM představila novou generaci svých serverů: IBM Power11.
Multiplatformní digitální pracovní stanice pro práci s audiem Ardour byla postavena na GTK2. Vývojáři neplánovali její portaci na GTK3 nebo GTK4. Naopak, v lednu loňského roku si vytvořili vlastní fork GTK2 s názvem YTK. Ten v únoru letošního roku přestal být volitelným a nově byla zcela odstraněna podpora GTK2.
Byla vydána nová verze 6.4 linuxové distribuce Parrot OS (Wikipedie). Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Společnost initMAX pořádá sérii bezplatných webinářů věnovaných novému Zabbixu 7.4. Podrobnosti a registrace na webu initMAX.
… více »Byla vydána verze 7.0 open source platformy pro správu vlastního cloudu OpenNebula (Wikipedie). Kódový název nové verze je Phoenix. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.
E-mailový klient Thunderbird byl vydán ve verzi 140.0 ESR „Eclipse“. Jde o vydání s dlouhodobou podporou, shrnující novinky v upozorněních, vzhledu, správě složek a správě účtů. Pozor, nezaměňovat s průběžným vydáním 140.0, které bylo dostupné o týden dříve.
Organizace Video Games Europe reprezentující vydavatele počítačových her publikovala prohlášení k občanské iniciativě Stop Destroying Videogames.
Společnost Raspberry Pi nově nabzí Raspberry Pi Camera Module 3 Sensor Assembly, tj. samostatné senzorové moduly z Raspberry Pi Camera Module 3.
Cathode Ray Dude v novém videu ukazuje autorádio Empeg Car (později Rio Car) z let 1999–2001. Šlo o jeden z prvních přehrávačů MP3 do auta. Běží na něm Linux. Vyrobeno bylo jen asi pět tisíc kusů, ale zůstala kolem nich živá komunita, viz např. web riocar.org.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.7.
Poslední dobou jsem trochu omezil seriály a začal programovat. Naučil jsem se trochu Qt 4; napsal jsem dvě hry.
Nejdřív jsem napsal fifteen, bylo to pro mě docela nový... sice už jsem se v Qt 4 něco snažil napsat někdy dřív, ale vzdal jsem to, protože jsem neměl dost zkušeností a nevěděl jsem si rady. Takže jsem se vždycky na něčem zasekl a dvě hodiny hledal co s tím Každopádně nakonec jsem to dal dohromady i s podporou libovolně velkých boardů... Ale bacha, evidentně to umístění tlačítek nemůžu dělat úplně náhodně, takže polovina her co to vygeneruje nejde dohrát, takže pokud vás někdo naštve, nechte ho zahrát si...
A následovaly piškvorky. Netušil jsem, že z toho vypukne taková herní mánie, ale co už. Tady bylo nejtěžší napsat gameover-check... Celkově to bylo složitější, musel jsem implementovat vlastní paintEvent a mousePressEvent. Nakonec jsem to ale nějak uplácal, i když s tím gameoverem nejsem úplně spokojenej... Nicméně funguje.
Co bude dál? No, dál jsem si říkal, že bych napsal hada (Snake z Nokie). Kámoš navrhnul ať napíšu "kurvy", tj. v podstatě multiplayer hada - kdo první nabourá, ten prohrál. Volitelně se budou dát procházet zdi a přemýšlel jsem o tom, že bych se naučil Qt síťování a napsal i síťovej multiplayer.
Uvítám věcný připomínky ke kódu. Psal jsem to celý ručně (nepoužíval jsem Qt Designer), abych se to naučil.
Git repa:
web: http://git.watzke.cz/?p=piskvorky.git;a=summary git: git://git.watzke.cz/piskvorky.git web: http://git.watzke.cz/?p=fifteen.git;a=summary git: git://git.watzke.cz/fifteen.git
Update: V Gitu piškvorek už je podpora pro libovolně velký boardy. V Gitu fifteen je opravená hra 4x4 a ten board je tam prozatím napevno (protože s jinýma generuje furt blbý hry). Už to generuje řešitelný hry na všech boardech
Tiskni
Sdílej:
SVN nestačí
To mě zajímá, pročpak nestačí?
ten github vypadá ok.Já jsem ti to říkal
00001 00001 00001 00001 00001
cat piskvorky | tr -d '\n' | grep -E '1.{4}1.{4}1.{4}1.{4}1'
{4} v regexpu se meni podle velikosti hraci plochy a hledaneho smeru
struct cell { cell* top; cell* bottom; cell* left; cell* right; cell* sikmo; ... int hrac; }
11111 00000 00001 00001 00001
cat tvuj_vstup | tr -d '\n' | grep -E '1.{0}1.{0}1.{0}1.{0}1'
00011 11100 00000 00000 00000
uvítám věcný připomínky ke kódu
v MainWindow::newGame(), nepomuze to resize( sizeHint()) vic nahore s tim FIXME? Nebo mozna explicitni activate() na layoutu? Nevim, co tohle presne je, ale tyhle druhy problemu se tak obvykle resi.Zkusil jsem dát resize hned za vytvoření boardu a za to ještě layout->activate(), ale nepomohlo to. Je to tam z toho důvodu, že když člověk vytvoří velkej board a potom menší, zůstane mu bez toho velký okno.
Vyřešeno v Gitu... to poslední teda zatím (doufám) funguje jen pro 4x4 boardy, takže jsem ten spinbox zatím schoval.
- jestli jsem neco neprehledl, tak 'QPoint* path;' staci proste 'QPoint path;' a pouzivat to hodnotou. Nemusi se pak resit nejake alokace nebo (jako tady) chybejici delete v destruktoru.
- 'size(-1)' mi prijde jako strasne zavadejici kus kodu
- 'int Board::size() const'
- 'QPair<QRect,Owner>(...)' - 'qMakePair(...)'
- polovina vsech moznych zadani patnactky nema reseni, proto se po generovani bud kontroluje resitelnost, nebo se to rovnou rozhazi systemem, ktery to necha resitelne. Urcite to pujde najit ve Wikipedii nebo Googlem.
qMakePair<QRect,Owner>(..
- zkus vynechat template parametry, tzn. qMakePair(...
, tipuju, že to funguje stejně jako std::make_pair
, tzn. že kompilátor si ty template parametry vydedukuje jednoznačně z parametrů funkce, což je dobré, protože je otrava tam ty parametry psát (a taky myslím, že přesně tak to myslel Luboš Luňák)
vim ~/.emacs
new
na vytváření objektů?
Pěkné piškvorky! Jěště bych k nim udělal CMakeLists.txt Nedávno jsem dostal přibližně stejný nápad (naučit se Qt a napsat v něm piškvorky). Dokonce jsem kvůli nim vytvořil projekt na SourceForge -- http://ttt-game.sf.net/