abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 00:11 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04-1.3. Současně oznámila, že nadcházející větší vydání 24.04-2.0 bude mít modernější webový prohlížeč.

    Ladislav Hagara | Komentářů: 0
    včera 17:11 | Zajímavý projekt

    Ploopy po DIY trackballech či sluchátkách představuje nový externí DIY trackpoint se čtyřmi tlačítky Bean. Obsahuje snímač Texas Instruments TMAG5273, spínače Omron D2LS-21 a řadič RP2040, používá firmware QMK. Schémata jsou na GitHubu; sadu lze předobjednat za 69 kanadských dolarů (bez dopravy a DPH).

    |🇵🇸 | Komentářů: 0
    včera 03:33 | Zajímavý článek

    Mozilla před dvěma týdny na svém blogu oznámila, že díky Claude Mythos Preview bylo ve Firefoxu nalezeno a opraveno 271 bezpečnostních chyb. Včera vyšel na Mozilla Hacks článek s podrobnějšími informacemi. Z 271 bezpečnostních chyb mělo 180 chyb vysokou závažnost, 80 chyb střední závažnost a 11 chyb nízkou závažnost. Celkově bylo v dubnu ve Firefoxu opraveno 423 bezpečnostních chyb. Čísla CVE nemusí být přiřazována jednotlivým chybám. CVE-2026-6784 například představuje 154 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 0
    7.5. 22:55 | Bezpečnostní upozornění

    Před týdnem zranitelnost Copy Fail. Dnes zranitelnost Dirty Frag. Běžný uživatel může na Linuxu získat práva roota (lokální eskalaci práv). Na většině linuxových distribucí vydaných od roku 2017. Aktuálně bez oficiální záplaty a CVE čísla [oss-security mailing list].

    Ladislav Hagara | Komentářů: 7
    7.5. 14:00 | Humor

    Ačkoli je papež Lev XIV. hlavou katolické církve a stojí v čele více než miliardy věřících po celém světě, také on někdy řeší všední potíže. A kdo v životě neměl problémy se zákaznickou linkou? Krátce poté, co nastoupil do úřadu, musel papež se svou bankou řešit změnu údajů. Operátorka ale nechtěla uvěřit, s kým mluví, a Svatému otci zavěsila.

    Ladislav Hagara | Komentářů: 10
    7.5. 05:11 | Nová verze

    Incus, komunitní fork nástroje pro správu kontejnerů LXD, byl vydán ve verzi 7.0 LTS (YouTube). Stejně tak související LXC a LXCFS.

    Ladislav Hagara | Komentářů: 0
    7.5. 05:00 | Nová verze

    Google Chrome 148 byl prohlášen za stabilní. Nejnovější stabilní verze 148.0.7778.96 přináší řadu novinek z hlediska uživatelů i vývojářů. Vypíchnout lze Prompt API (demo) pro přímý přístup k AI v zařízení. Podrobný přehled v poznámkách k vydání. Opraveno bylo 127 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    6.5. 16:44 | Komunita

    Richard Hughes oznámil, že po společnostech Red Hat a Framework a organizacích OSFF a Linux Foundation, službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzorují také společnosti Dell a Lenovo. Do dnešního dne bylo díky LVFS provedeno více než 145 milionů aktualizací firmwarů od více než 100 různých výrobců na milionech linuxových zařízení.

    Ladislav Hagara | Komentářů: 0
    6.5. 15:22 | IT novinky

    Americké technologické společnosti Microsoft, Google a xAI souhlasily, že vládě Spojených států poskytnou přístup k novým modelům umělé inteligence (AI) před jejich uvedením na trh. Oznámila to americká vláda, která tak bude moci prověřit, zda modely nepředstavují hrozbu pro národní bezpečnost. Oznámení podtrhuje rostoucí obavy Washingtonu z rizik spojených s výkonnými AI systémy. Americké úřady chtějí v rámci předběžného přístupu

    … více »
    Ladislav Hagara | Komentářů: 1
    6.5. 14:11 | IT novinky

    Společnost Valve zveřejnila (GitLab) nákresy ovladače Steam Controller a puku. Pro všechny, kdo by jej chtěli hacknout nebo modifikovat, případně pro ně navrhnout nějaké příslušenství. Pod licencí Creative Commons (CC BY-NC-SA 4.0).

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (9%)
     (2%)
     (14%)
     (31%)
     (4%)
     (7%)
     (3%)
     (16%)
     (25%)
    Celkem 1538 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dokoncil jsem domaci ukol

    1.2.2009 23:48 | Škola | poslední úprava: 26.6.2010 07:32

    Uff. Mozna se to bude pred odevzdanim jeste trochu menit, ale hlavne jsem dokoncil to strasne dokumentovani. Tak jsem si rikal, ze bych to mohl konecne nekde zverejnit.

    Mym ukolem bylo vytvorit neco podobneho jako je stara DOSova hra King's Quest 1. Tedy hru na motivy pohadek, kde hrac chodi s panackem a zadava mu slovni prikazy. Vice na strankach tohoto programu.        

    Hodnocení: 81 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    2.2.2009 00:53 Deleted [8409] | skóre: 14 | blog: darkblog
    Rozbalit Rozbalit vše Re: Dokoncil jsem domaci ukol
    Zajímavé, ale měl bych pár připomínek :)
    • Moc nechápu tu závislost na X. Mám pocit, že jste to sám sobě zkomplikoval a znepřehlednil, teda pokud to nebylo přímo v zadání. Mám pocit, že ve zdrojácích zbytečně řešíte věci kolem X, místo toho, aby jste se plně soustředil na hru. Ve výsledku to bude nepřenositelné a navíc i pomalé.
    • Čeština bez háčků a čárek v roce 2009 mi přijde jako špatný vtip.
    • Použil bych C++, výjimky by vám asi ve vašem programovacím stylu pomohly.
    mirefek avatar 2.2.2009 18:26 mirefek | skóre: 6 | blog: proc_dalsi_nazev
    Rozbalit Rozbalit vše Re: Dokoncil jsem domaci ukol

    1) Uznavam, ze jsem musel resit nektere veci, ktere obvykle resi jine knihovny. To ma ovsem tu vyhodu, ze muzu vsechno udelat tak, jak ja budu chtit a budu presne vedet, jak moje funkce funguji. V nekterych souborech tedy zdanlive zbytecne resim veci kolem X a v jinych se soustredim na hru. Nechapu, co myslite tim, ze to je neprenositelne a pomale. Pomale se mi to tedy nejevi a pokud prenositelnosti myslite kompatibilitu se systemy bez X, tak ta mi nevadi.

    2) Cestina bez hacku a carek vubec neni spatny vtip. Program ji podporuje hned ze dvou duvodu. Za prve zvlada cestinu s hacky a carkami jen v pripade, ze vas pocitac umi kodovani, ktere program potrebuje. Za druhe mam (a myslim, ze i nekdo dalsi) obvykle nastavenou anglickou klavesnici a prepinat kvuli hre na ceskou se mi nechce. Obzvlast, kdyz hru testuji a tedy soucasne upravuji zdrojaky. Navic hru spoustim prikazem "./kraluk" a druhy znak bych na ceske klavesnici musel hledat.

    3) Uznavam, ze v modulech save a load by se vyjimky docela hodily. Kdyz mam ale cely zbytek v jednoduchem C-cku.

    2.2.2009 19:09 Deleted [8409] | skóre: 14 | blog: darkblog
    Rozbalit Rozbalit vše Re: Dokoncil jsem domaci ukol
    1) No možná jste to udělal přesně tak, jak jste chtěl, ale pochybuji, že vám to pojede na každém X serveru v každé možné konfiguraci. Pomalé to samozřejmě bude, protože jste neměl čas řešit optimalizace, které za vás řeší jiné knihovny.

    Například tento kód je prostě pomalý a jiné knihovny to řeší mnohem (klidně i 10x) líp:
    void rescalePixmap (XImage *ximage, Pixmap *pxm)
    /*********************************************/
    {
      XImage *ipom;
      GC lgc;
      int i,j,x,x2,y;
      unsigned long pixel;
    
      if(*pxm) XFreePixmap(display, *pxm);  // Neni-li pxm None, odallokuji to
      if(ratio == 0 || !ximage){
        *pxm = None;
        return;
      }
      cekalose = 1;
    
      // Pripravim novou pixmapu:
    
      *pxm = XCreatePixmap(display, root,
    		       ximage->width*ratio, ximage->height*ratio, ximage->depth);
      lgc = XCreateGC(display, *pxm, 0, NULL);
    
      if(ratio <= IMAGRAT){
        if(ratio == 1){  // Pomer je 1:1 -> neni treba aplikovat scale:
          XPutImage(display, *pxm, lgc, ximage, 0, 0, 0, 0,
    		ximage->width, ximage->height);
          XFreeGC(display, lgc);
          return;
        }
        ipom = XCreateImage (display,
    			 CopyFromParent, ximage->depth,
    			 ximage->format, ximage->xoffset, 
    			 malloc(ximage->bytes_per_line*ratio*
    				ximage->height*ratio),
    			 ximage->width*ratio, ximage->height*ratio,
    			 ximage->bitmap_pad, ximage->bytes_per_line*ratio);
      }
    
      for(y=0; y<ximage->height; y++)
        for(x=0; x<ximage->width; x++){
          pixel = XGetPixel(ximage, x, y);    // Pro kazdy pixel ze zdrojoveho obrazku
          if(ratio <= IMAGRAT)
    	for(j=y*ratio; j<(y+1)*ratio; j++)
    	  for(i=x*ratio; i<(x+1)*ratio; i++)
    	    XPutPixel(ipom, i, j, pixel); // vykreslim ctverec do pomocneho ximage
          else{
    	// nebo vykreslim cely radek do pixmapy:
    
    	for(x2 = x+1; x2<ximage->width && XGetPixel(ximage, x2, y) == pixel; x2++);
    	XSetForeground(display, lgc, pixel);
    	XFillRectangle(display, *pxm, lgc,
    		       x*ratio, y*ratio, ratio*(x2-x), ratio);
    	x = x2-1;
          }
        }
    
      if(ratio <= IMAGRAT)
        XPutImage(display, *pxm, lgc, ipom, 0, 0, 0, 0,
    	      ipom->width, ipom->height);
    
      XFreeGC(display, lgc);
    }
    
    2) Háčky a čárky se dají jednoduše odfiltrovat, ale velmi těžce doplnit. Ale tím, že jste použíl přímo X bych věřil tomu, že jste se vůbec nechtěl zabývat tím, jak korektně zjistit unicode charakter ve všech různých konfiguracích X (a není to vůbec jednoduché), popřípadě jak pracovat s unicode (utf-8,16,32).

    3) Asi né jen tam :-) Já jsem to napsal hlavně v souvislosti s malloc(), kde nikde nekontrolujete, jestli vám náhodou nevrátil NULL. Pro takovou hru je to samozřejmě prkotina, ale je to velmi špatný zvyk a věřím tomu, že v nějakém projektu, na kterém pracuje víc lidí by toto ostatním velice vadilo.

    mirefek avatar 2.2.2009 19:40 mirefek | skóre: 6 | blog: proc_dalsi_nazev
    Rozbalit Rozbalit vše Re: Dokoncil jsem domaci ukol

    1) Myslim, ze funkci rescalePixmap mam docela dobrou. Predevsim proto, ze tim pomerne rychle nataham pixmapy pres sit na X server. Ja opravdu kvuli teto funkci zadne zpomaleni hry nepocituji, ale mozna mam jen prilis rychly pocitac. Navic nevim, jestli pouziti jinych knihoven prinese vzdy zrychleni. Ty jine knihovny totiz resi obvykle mnohem obecnejsi problemy nez ja.

    2) Vim, ze se hacky a carky daji odfiltrovat, ale hure doplnit. Ten program vsak nema za ukol odfiltrovavat hacky a carky. Mam vsak na vyber jak jazyk, kde hacky a carky odfiltrovane jsou, tak jazyk, kde nejsou. Priznavam, ze spravna podpora UTF-8 v X je prilis slozita, takze tento program zvlada cestinu s hacky a carkami pouze v kodovani, iso8859-2.

    3) Aha. Ale to uz je skoro jedno jestli program zkolabuje na Segmentation fault nebo na vyjimku, ze se nepodarilo pouzit malloc.

    2.2.2009 20:44 Deleted [8409] | skóre: 14 | blog: darkblog
    Rozbalit Rozbalit vše Re: Dokoncil jsem domaci ukol
    1) Ta funkce je pomalá. Kdybych změřil, kolik cyklů trvá jeden pixel vaši funkce a funkce v nějaké knihovně, byly by rozdíly v řádech desítek. Zrychlení vám přinese už knihovna, která se zabývá počítačovou grafikou a na rescaling je použitý třeba algoritmus využívající SSE (qimageblitz je dobrý příklad, původem z imlib2).

    2) Pokud nechcete závislost na knihovnách, které má většina uživatelů, je to váš boj :-)

    3) Existuje dobrý zvyk programátorů. Klidně si můžete napsat funkci xmalloc(), která spadne při chybě, někteří to tak normálně dělají, ale ignorovat návratové hodnoty u funkcí, které můžou selhat je prostě špatné.
    Luk avatar 2.2.2009 21:43 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Dokoncil jsem domaci ukol
    Klidně si můžete napsat funkci xmalloc(), která spadne při chybě, někteří to tak normálně dělají, ale ignorovat návratové hodnoty u funkcí, které můžou selhat je prostě špatné.
    Kromě toho není běžně důvod, aby to při selhání malloc() padalo přímo na hubu. Program může běžet dál, třeba chvíli počkat a pak zkusit alokaci znovu. Připomínám, že selhání malloc() je na Linuxu prakticky vyloučené, protože ve výchozím nastavení je povolen overcommit a jádro může tedy zvesela přidělovat paměť, kterou vůbec nemá (přidělí se ve skutečnosti až při výpadku stránky, když se proces do té paměti pokusí něco zapsat).
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    mirefek avatar 3.2.2009 08:24 mirefek | skóre: 6 | blog: proc_dalsi_nazev
    Rozbalit Rozbalit vše Re: Dokoncil jsem domaci ukol

    1) Nechapu, proc obvinujete z pomalosti funkci, ktera vetsinu prace prenecha X serveru. Vy tu pomalost pocitujete nejak lidsky? Nebo jste se jen podival do zdrojaku a shledal, ze to je pomale. Myslim, ze je spousta jinych a pouzivanejsich programu, ktere by se daly zrychlit. Pokud mate pocit, ze muj program dlouho startuje, je to spise tim, ze pri startu nacitam mnohem vice obrazku nez je nezbytne.

    3) No dobra s tim mallocem mate asi pravdu. Vypadalo by to profesionalsteji.

    3.2.2009 13:47 Deleted [8409] | skóre: 14 | blog: darkblog
    Rozbalit Rozbalit vše Re: Dokoncil jsem domaci ukol
    1)

    Abych se přiznal, mi osobně je to úplně jedno, ten projekt reprezentuje vaše programovací schopnosti, né moje :-)

    Chtěl jsem vám jen vysvětlit, že nemůžete napsat rychlou funkci pro scaling, pokud se tím tématem nezabýváte. Vaše funkce vygeneruje takový traffic, že kdyby jste si ten scaling udělal na klientu a pomocí XPutImage() to přenesl na server, tak uděláte mnohem líp.

    PS: Ať se daří :)
    mirefek avatar 3.2.2009 16:00 mirefek | skóre: 6 | blog: proc_dalsi_nazev
    Rozbalit Rozbalit vše Re: Dokoncil jsem domaci ukol

    Ja jsem to puvodne mel naprogramovane tak, ze udelam scaling na klientu a pak to prenesu na server funkci XPutImage(). Pak jsem ovsem experimentalne zjistil, ze postupne vykreslovani pomoci XFillRectangle() funguje pres sit rychleji, predevsim pri velkych zvetsenich. To, co zdrzovalo, nebyl pomaly scaling na klientu, ale sit. Kdyz program spustim na stejnem pocitaci, jako je X server, je zmena policka okamzita v obou pripadech.

    Nicmene dekuji za vase pripominky, priste se mozna pokusim o lepsi optimalizaci rychlosti, nejlepe za pomoci goto konstrukci :)

    hikikomori82 avatar 2.2.2009 00:57 hikikomori82 | skóre: 18 | blog: foobar | Košice
    Rozbalit Rozbalit vše Re: Dokoncil jsem domaci ukol
    Smekám. Ked nebudes vediet kam dalej, mrkni sa na kniznicu cairo. Je to este jednoduchsie ako xlib+libxpm a ako bonus ti budu fungovat utf8 fonty a png obrazky (vratene priehladnosti).
    2.2.2009 07:45 Zdenek
    Rozbalit Rozbalit vše Re: Dokoncil jsem domaci ukol
    Spis nez cairo bych pouzil SDL, zvlast kdyz jsou to bitmapy.
    2.2.2009 17:19 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: Dokoncil jsem domaci ukol
    Já bych použil obojí, jde to krásně propojit. V SDL se krásně pracuje s bitmapa, ale bohužel už blbě s kreslením ruzných 2D věcí (a to je cairo perfektní, navíc se místo bitmap můŽe použít SVG).
    Baník pyčo!
    mirefek avatar 2.2.2009 18:14 mirefek | skóre: 6 | blog: proc_dalsi_nazev
    Rozbalit Rozbalit vše Re: Dokoncil jsem domaci ukol

    Oboji bych nepouzil, protoze se mi nejevi dobre mit program zavisly na spouste dalsich knihoven.

    Cairo neznam, ale SDL nemam rad. Zkousel jsem nejaky jednoduchy SDL programek a ten vytocil procesor na plne obratky. Je mi jasne, ze se v SDL da nejak zaridit, aby se to nestalo, ale tento priklad ci tutorial me od SDL lehce odradil. Navic vsechny SDL hry, ktere znam, pri fullscreenu zcela zablokuji windowmanager.

    2.2.2009 02:08 JohnnyDoe | skóre: 11 | blog: _
    Rozbalit Rozbalit vše Re: Dokoncil jsem domaci ukol
    Wtf, "Mirek Olšák", syn TOHO Petra Olšáka :-).
    Luk avatar 2.2.2009 06:34 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Dokoncil jsem domaci ukol
    Ano, toho: "To 'h' je hodnost, a ne něco jiného, například ... suvenýr z Prahy." "Teď to zakryjeme ... rucema ... rukoumi..." "Tak, a teď tu závorku musíme vyšpekulovat, aby to vyšlo..." "V tom je jádro pudla, tedy zakopaný jezevčík..." :-D
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    2.2.2009 13:19 fakenickname | skóre: 42 | blog: fakeblog
    Rozbalit Rozbalit vše Re: Dokoncil jsem domaci ukol
    Tak to se nedivim ze dokumentaci psal v texu :-))
    Luk avatar 2.2.2009 14:14 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Dokoncil jsem domaci ukol
    TEX je náhodou vynikající. Psal jsem v něm diplomku a bylo to naprosto v pohodě. Narozdíl od lidí, co ji mastili ve Wordu, jsem se soustředil jen na obsah a výsledkem byl skvělý PDF soubor o velikosti 300 KB.
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    2.2.2009 14:29 fakenickname | skóre: 42 | blog: fakeblog
    Rozbalit Rozbalit vše Re: Dokoncil jsem domaci ukol
    vsak ja nic nerikam proti texu.. jen poukazuji na tu zajimavou "nahodu", ze syn pana profesora olsaka si zrovna vybral tex.. ;-)
    mirefek avatar 2.2.2009 18:50 mirefek | skóre: 6 | blog: proc_dalsi_nazev
    Rozbalit Rozbalit vše Re: Dokoncil jsem domaci ukol

    Pravda, mel jsem ohromne "stesti", ze nedavno vysel docby.tex.

    xxx avatar 2.2.2009 14:40 xxx | skóre: 42 | blog: Na Kafíčko
    Rozbalit Rozbalit vše Re: Dokoncil jsem domaci ukol
    Navíc ten styl toho textu je naprosto nezaměnitelný. Po spatření, že věc se nachází na leibniz.feld... jsem už ani sekundu nepochyboval. No nic jdu zamáčknout nostalgickou slzu za lingebru.
    Please rise for the Futurama theme song.
    Luk avatar 2.2.2009 15:56 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Dokoncil jsem domaci ukol
    "Lineární algebra, to není setřepat matici do horního trojúhelníkového tvaru. Lineární algebra, to je umět v tom myslet." :-D
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    onion avatar 3.2.2009 00:31 onion | skóre: 8 | blog: onion | Praha
    Rozbalit Rozbalit vše Re: Dokoncil jsem domaci ukol

    Jo, taky jsem na to čuměl :-D Rodina Olšáků mě prostě pronásleduje, zavřu Ďábelsky Žlutá Skripta(tm), jdu se odreagovat na abíčko a kdo na mě koukne - Olšák :-) 

    Luk avatar 3.2.2009 01:18 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Dokoncil jsem domaci ukol
    jdu se odreagovat na abíčko a kdo na mě koukne - Olšák
    Nejen na abíčku. Také na Rootu a Linuxzone, ale už je to dávno ;-)
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    2.2.2009 02:09 letec
    Rozbalit Rozbalit vše Re: Dokoncil jsem domaci ukol
    Vypadá to zajímavě, ale ta čeština...
    8.2.2009 10:22 Petr Olšák
    Rozbalit Rozbalit vše Re: Dokoncil jsem domaci ukol

    Vrátil jsem se z dovolené a koukám, syn zveřejnil svůj program. Dovolil bych si pár poznámek.

    Čeština v programu funguje, pokud systém dovolí programu lokálně nastavit LC_CTYPE=cs_CZ.ISO8859-2, o což se program při svém startu snaží. Varianta "cestina" je jen v záloze, pokud by toto nevyšlo, nebo pokud uživatel nemá rád, že musí mít pokoněnou klávesnici Husem.

    O tom, jaké knihovny by se daly použít a zda je přímé použití jen Xlibu pomalejší nebo rychlejší, bych rád polemizoval, ale do této diskuse to nepatří. Spíše by nás oba zajímalo, zda je hra hratelná bez čítů (cheats). Měl jsem v některých místech hry jiný pocit než Mirek, tj. že na další postup hráč nemůže přijít. Bohužel, u nás doma to nemůžeme vyzkoušet, protože víme, jak se to má hrát (koukali jsme Mirkovi, když to tvořil, pod ruce).

    Povedlo se to někomu dohrát do konce?

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.