O víkendu probíhá konference OpenAlt 2025. Na programu je spousta zajímavých přednášek. Pokud jste v Brně, stavte se. Vstup zdarma.
Josef Průša představil novou velkoformátovou uzavřenou CoreXY 3D tiskárnu Prusa CORE One L a nový open source standard chytrých cívek OpenPrintTag i s novou přepracovanou špulkou.
Na GOG.com běží Autumn Sale. Při té příležitosti je zdarma hororová počítačová hra STASIS (ProtonDB: Platinum).
Ubuntu 25.10 má nově balíčky sestavené také pro úroveň mikroarchitektury x86-64-v3 (amd64v3).
Byla vydána verze 1.91.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Ministerstvo průmyslu a obchodu vyhlásilo druhou veřejnou soutěž v programu TWIST, který podporuje výzkum, vývoj a využití umělé inteligence v podnikání. Firmy mohou získat až 30 milionů korun na jeden projekt zaměřený na nové produkty či inovaci podnikových procesů. Návrhy projektů lze podávat od 31. října do 17. prosince 2025. Celková alokace výzvy činí 800 milionů korun.
Google v srpnu oznámil, že na „certifikovaných“ zařízeních s Androidem omezí instalaci aplikací (včetně „sideloadingu“) tak, že bude vyžadovat, aby aplikace byly podepsány centrálně registrovanými vývojáři s ověřenou identitou. Iniciativa Keep Android Open se to snaží zvrátit. Podepsat lze otevřený dopis adresovaný Googlu nebo petici na Change.org.
Byla vydána nová verze 18 integrovaného vývojového prostředí (IDE) Qt Creator. S podporou Development Containers. Podrobný přehled novinek v changelogu.
Cursor (Wikipedie) od společnosti Anysphere byl vydán ve verzi 2.0. Jedná se o multiplatformní proprietární editor kódů s podporou AI (vibe coding).
Google Chrome 142 byl prohlášen za stabilní. Nejnovější stabilní verze 142.0.7444.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 20 bezpečnostních chyb. Za nejvážnější z nich bylo vyplaceno 50 000 dolarů. Vylepšeny byly také nástroje pro vývojáře.
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čí?
Jestli's to myslel takhle.
ten github vypadá ok.Já jsem ti to říkal
noflamepls
noflamepls
noflamepls", ale údernost tvých argumentů mě donutila to na poslední chvíli přeformulovat.
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
Díky moc za připomínky, několik věcí je mi úplně jasných, jsem dobytek
Upravím to pak.
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
Jdu už radši spát, leze mi to na bednu.
No, až budu chtít koukat na to jak se to míchá, tak napíšu funkci, která to rovnou celý vyřeší.
No, šlo mi o to, že když bude delay při míchání mezi tahy desetina vteřiny a méně, tak to težko někdo při řešení využije. A vypadá to líp, než když se rovnou objeví zamíchané řešení.
Studuješ ještě pořád strojárnu? Co naprogramit něco takového Stačily by jenom ty strojní výpočty a bylo by to moc good!
Jo, ještě pořád studuju strojárnu. Zklamu tě, takovej program psát nebudu. Byl by mi k ničemu a hlavně mám strojárny až po krk už ze školy, takže bohužel :-/
))) škoda. Si myslím že to je ten pravej důvod proč pro strojaře se nedělají otevřené prográmky. A to ten že strojaři neumí programit a kdžy už umí tak je strojařina nebaví.
Ale pohoda a držím palce s dalším programením!
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/ 