Desktopové prostředí Budgie bylo vydáno ve verzi 10.10. Dokončena byla migrace z X11 na Wayland. Budgie 10 vstupuje do režimu údržby. Vývoj se přesouvá k Budgie 11. Dlouho se řešilo, v čem bude nové Budgie napsáno. Budgie 10 je postaveno nad GTK 3. Přemýšlelo se také nad přepsáním z GTK do EFL. Budgie 11 bude nakonec postaveno nad Qt 6.
OpenChaos.dev je 'samovolně se vyvíjející open source projekt' s nedefinovaným cílem. Každý týden mohou lidé hlasovat o návrzích (pull requestech), přičemž vítězný návrh se integruje do kódu projektu (repozitář na GitHubu). Hlasováním je možné změnit téměř vše, včetně tohoto pravidla. Hlasování končí vždy v neděli v 9:00 UTC.
Byl vydán Debian 13.3, tj. třetí opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.13, tj. třináctá opravná verze Debianu 12 s kódovým názvem Bookworm. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 a Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.
Na stránkách Evropské komise, na portálu Podělte se o svůj názor, se lze do 3. února podělit o názor k iniciativě Evropské otevřené digitální ekosystémy řešící přístup EU k otevřenému softwaru.
Společnost Kagi stojící za stejnojmenným placeným vyhledávačem vydala (𝕏) alfa verzi linuxové verze (flatpak) svého proprietárního webového prohlížeče Orion.
Firma Bose se po tlaku uživatelů rozhodla, že otevře API svých chytrých reproduktorů SoundTouch, což umožní pokračovat v jejich používání i po plánovaném ukončení podpory v letošním roce. Pro ovládání také bude stále možné využívat oficiální aplikaci, ale už pouze lokálně bez cloudových služeb. Dokumentace API dostupná zde (soubor PDF).
Jiří Eischmann se v příspěvku na svém blogu rozepsal o open source AdGuard Home jako domácí ochraně nejen před reklamou. Adguard Home není plnohodnotným DNS resolverem, funguje jako DNS forwarder s možností filtrování. To znamená, že když přijme DNS dotaz, sám na něj neodpoví, ale přepošle ho na vybraný DNS server a odpovědi zpracovává a filtruje dle nastavených pravidel a následně posílá zpět klientům. Dá se tedy používat k blokování reklamy a škodlivých stránek a k rodičovské kontrole na úrovni DNS.
AI Claude Code od Anthropicu lépe rozumí frameworku Nette, tj. open source frameworku pro tvorbu webových aplikací v PHP. David Grudl napsal plugin Nette pro Claude Code.
Byla vydána prosincová aktualizace aneb nová verze 1.108 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.108 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Na lasvegaském veletrhu elektroniky CES byl předveden prototyp notebooku chlazeného pomocí plazmových aktuátorů (DBD). Ačkoliv se nejedná o první nápad svého druhu, nepochybně to je první ukázka praktického použití tohoto způsobu chlazení v běžné elektronice. Co činí plazmové chladící akční členy technologickou výzvou je především vysoká produkce jedovatého ozonu, tu se prý podařilo firmě YPlasma zredukovat dielektrickou
… více »
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/ 