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í
×
    včera 16:44 | Nová verze

    Svobodný multiplatformní herní engine Bevy napsaný v Rustu byl vydán ve verzi 0.18. Díky 174 přispěvatelům.

    Ladislav Hagara | Komentářů: 2
    včera 15:11 | IT novinky

    Miliardy korun na digitalizaci služeb státu nestačily. Stát do ní v letech 2020 až 2024 vložil víc než 50 miliard korun, ale původní cíl se nepodařilo splnit. Od loňského února měly být služby státu plně digitalizované a občané měli mít právo komunikovat se státem digitálně. Do tohoto data se povedlo plně digitalizovat 18 procent agendových služeb státu. Dnes to uvedl Nejvyšší kontrolní úřad (NKÚ) v souhrnné zprávě o stavu digitalizace v Česku. Zpráva vychází z výsledků víc než 50 kontrol, které NKÚ v posledních pěti letech v tomto oboru uskutečnil.

    Ladislav Hagara | Komentářů: 9
    včera 13:55 | IT novinky

    Nadace Wikimedia, která je provozovatelem internetové encyklopedie Wikipedia, oznámila u příležitosti 25. výročí vzniku encyklopedie nové licenční dohody s firmami vyvíjejícími umělou inteligenci (AI). Mezi partnery encyklopedie tak nově patří Microsoft, Amazon a Meta Platforms, ale také start-up Perplexity a francouzská společnost Mistral AI. Wikimedia má podobnou dohodu od roku 2022 také se společností Google ze skupiny

    … více »
    Ladislav Hagara | Komentářů: 0
    včera 02:22 | Nová verze

    D7VK byl vydán ve verzi 1.2. Jedná se o fork DXVK implementující překlad volání Direct3D 5, 6 a 7 na Vulkan. DXVK zvládá Direct3D 8, 9, 10 a 11.

    Ladislav Hagara | Komentářů: 0
    včera 02:00 | Nová verze

    Byla vydána verze 12.0.0 knihovny libvirt (Wikipedie) zastřešující různé virtualizační technologie a vytvářející jednotné rozhraní pro správu virtuálních strojů. Současně byl ve verzi 12.0.0 vydán související modul pro Python libvirt-python. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    15.1. 19:22 | Humor

    CreepyLink.com je nový zkracovač URL adres, 'díky kterému budou vaše odkazy vypadat tak podezřele, jak je to jen možné'. Například odkaz na abclinuxu.cz tento zkracovač převádí do podoby 'https://netflix.web-safe.link/logger_8oIlgs_free_money.php'. Dle prohlášení autora je CreepyLink alternativou ke zkracovači ShadyURL (repozitář na githubu), který dnes již bohužel není v provozu.

    NUKE GAZA! 🎆 | Komentářů: 3
    15.1. 12:33 | IT novinky

    Na blogu Raspberry Pi byla představena rozšiřující deska Raspberry Pi AI HAT+ 2 s akcelerátorem Hailo-10 a 8 GB RAM. Na rozdíl od předchozí Raspberry Pi AI HAT+ podporuje generativní AI. Cena desky je 130 dolarů.

    Ladislav Hagara | Komentářů: 3
    15.1. 12:11 | Komunita

    Wikipedie slaví 25. výročí svého založení. Vznikla 15. ledna 2001 jako doplňkový projekt k dnes již neexistující encyklopedii Nupedia. Doména wikipedia.org byla zaregistrována 12. ledna 2001. Zítra proběhne v Praze Večer svobodné kultury, který pořádá spolek Wikimedia ČR.

    Ladislav Hagara | Komentářů: 1
    15.1. 04:44 | Nová verze

    Po více než dvou letech od vydání předchozí verze 2.12 byla vydána nová stabilní verze 2.14 systémového zavaděče GNU GRUB (GRand Unified Bootloader, Wikipedie). Přehled novinek v souboru NEWS a v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 2
    15.1. 02:22 | Nová verze

    Google Chrome 144 byl prohlášen za stabilní. Nejnovější stabilní verze 144.0.7559.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 10 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře (YouTube).

    Ladislav Hagara | Komentářů: 4
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (5%)
     (0%)
     (9%)
     (19%)
     (3%)
     (6%)
     (3%)
     (11%)
     (42%)
    Celkem 465 hlasů
     Komentářů: 12, poslední 14.1. 21:12
    Rozcestník

    Dotaz: domácí úkol v Javě - hra tanky

    2.4.2012 20:44 orei
    domácí úkol v Javě - hra tanky
    Přečteno: 872×
    Zdravím, ve škole jsme dostali za úkol v blueji zařídit, aby v primitivní hře s tanky, co jsme vytvořili mohli vystřelené projektili mohli kolidovat s tanky, strávil jsem nad tím celý včerejší den a dnešek, bez žádného výrazného úspěchu, prosím o rychlou pomoc, tady je zadání:
    Zásah – 2 varianty
    a.	Dělová koule zasáhne tank až po dopadu (na konci přesouvání)
    i.	Do přesunuto() koule dáme podmínku na zásah koule na tank. Pokud tato podmínka projde,
            zavolá se metoda zásah() na tank. Toto se provede pro oba tanky ze třídy Main. - 4
    b.	Dělová koule může zasáhnout tank i při letu
    i.	podobně jako 2.a.i, ale podmínky se budou psát do setPozice(…) koule. – 5
    
    A tady je projekt: http://www.ulozto.cz/xpGXwfX/pomocne-2-rar

    Řešení dotazu:


    Odpovědi

    3.4.2012 00:38 dementni.lojzik | skóre: 19 | blog: ze zivota na vsi
    Rozbalit Rozbalit vše Re: Problém v JAVĚ
    Obavam se, ze jedina rychla pomoc, kterou jsem ti schopen poskytnout je tento link. K peclivemu prostudovani doporucuji zejmena odstavec "Co s tim?".
    3.4.2012 01:19 orei
    Rozbalit Rozbalit vše Re: Problém v JAVĚ
    tak jsem to prostudoval, neočekávám, že když dostaneme úkol tak sem prostě napíšu, vy to za mně uděláte atd..., nepsal bych sem, kdyby to nebylo nutné, pokoušel jsem se najít řešení přes neděli a pondělí, ale pouze s částečným úspěchem a čas dochází, úkol musím odevzdat už dnes... přikládám odkaz na aktualizovaný projekt, kde jsem se pokoušel najít řešení. http://www.ulozto.cz/xK8oUG8/pro-du-rar projektil tam sice nějak koliduje, což dokazuje fakt, že zčerná, ale bohužel koliduje pouze s počátečními souřadnicemi tanku...ještě je tam jeden problém, z 1. úkolu, kterého jsem si všimnul až ted, v třídě Tank jsem vytvořil ovládání pro oba tanky ve třídě main, problém dělají metody otocDoleva a otocDoprava, nefungují správně...místo, aby se otočili o 90 stupnů se otočí o 180 stupnů...přitom ta metoda je napsaná správně...
    3.4.2012 10:19 dementni.lojzik | skóre: 19 | blog: ze zivota na vsi
    Rozbalit Rozbalit vše Re: Problém v JAVĚ
    abych je nedrskoval, tohle aspon trochu vypada jako popis konkretniho problemu:
    problém dělají metody otocDoleva a otocDoprava, nefungují správně...místo, aby se otočili o 90 stupnů se otočí o 180 stupnů
    zkus si tam pridat nejake debugovaci vypisy, bys videl, co se skutecne vola (pripadne to proji v debuggeru), pote by melo byt snadne urcit, kde je pricina problemu
    3.4.2012 22:35 Sten
    Rozbalit Rozbalit vše Re: Problém v JAVĚ
    Pokud to koliduje špatně, tak to chce dát sem alespoň kus kódu, kde se to kolidování řeší. Ten problém je sice zajímavej, ale ne natolik, abych procházel šest tisíc řádků zdrojáků a hledal počítání kolizí nebo abych ten projekt zprovozňoval u sebe a snažil se vydedukovat, co to vlastně má dělat.
    3.4.2012 08:47 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: Problém v JAVĚ
    Na jednej strane treba priznať, že autor otázky vyvinul úsilie na vyriešenie svojej školskej úlohy, takže odkaz na FAQ v tomto prípade nie je primeraný.

    Na druhej strane tá otázka má dve muchy. 1. nebolo použité správne formátovanie textu otázky. Keď sa pozriem do HTML kódu tej otázky uvidím:
    Zásah – 2 varianty
    a.	Dělová koule zasáhne tank až po dopadu (na konci přesouvání)
    i.	Do přesunuto() koule dáme podmínku na zásah koule na tank. Pokud tato podmínka projde, zavolá se metoda zásah() na tank. Toto se provede pro oba tanky ze třídy Main. - 4
    b.	Dělová koule může zasáhnout tank i při letu
    i.	podobně jako 2.a.i, ale podmínky se budou psát do setPozice(…) koule. – 5
    
    Prečo to má dve odrážky "i." a čo znamená " - 4" a " - 5" nevedno.

    2. nie je mi jasné, na čo sa vlastne pýtaš? Chceš vedieť, ktorú variantu (z tých dvoch, čo máš premyslené) použiť? No tú, čo funguje. A keď fungujú obe, tak je to jedno. Mne je ťažko radiť bez toho, aby som rozumel tomu čo robia metódy presunuto(), či setPozice().

    Ak ti táto rada nestačí, tak budeš asi musieť podrobnejšie vysvetliť, čo tvoje metódy a triedy robia.
    Řešení 1× (Luboš Doležel (Doli))
    3.4.2012 09:12 dementni.lojzik | skóre: 19 | blog: ze zivota na vsi
    Rozbalit Rozbalit vše Re: Problém v JAVĚ
    takže odkaz na FAQ v tomto prípade nie je primeraný.
    IMHO je zcela primereny
    2. nie je mi jasné, na čo sa vlastne pýtaš?
    a tohe je duvod, proc je primereny. Ve skutecnosti to dokonce ani dotaz neni, je to konstatovani, ze tazatel dostal domaci ukol se kterym si nevi rady a dale nam je oznameno zadani. To si zkratka nic jineho nezaslouzi. Pochopitelne je to jen muj nazor a nikomu dalsimu nebranim v tom, aby se pohrabal v odkazovanem kodu, porovnal se zadanim a upravil podle zadani....
    3.4.2012 20:06 lertimir | skóre: 64 | blog: Par_slov
    Rozbalit Rozbalit vše Re: Problém v JAVĚ
    Je i více než přiměřený. Zadání jsem nejdříve ani moc pozornosti nevěnoval, a až na základě diskuse si jej přečetl. A to není jen zadání, ale vlastně v bodech i.) i silná nápověda. Kam se má zapsat změna kódu a jaká podmínka to má být. Stačí jen maličkost, trochu myslet. A to jedinou podmínku, co to v tom formálním jazyku znamená, že "tank" a "střela" jsou na jednom místě.

    a musím říci, že se s přístupem "lenosti přemýšlet" setkávám dost často.
    3.4.2012 14:11 orei
    Rozbalit Rozbalit vše Re: Problém v JAVĚ
    to rastos: ten text, co jsem sem vložil je zadání od učitele, písmena a, b značí způsoby, kterými můžeme danou úlohu vyřešit a odrážky i. jsou základní informace k tomu, jak to provést...ty čísla 4 a 5 jsou jen bodové ohodnocení...nevím, proč jsem to nevymazal. A ptám se na kód, kterým ten úkol můžu splnit...jedno, jestli způsobem a, nebo způsobem b...každopádně je už ale pozdě...úlohu jsme už odevzdali...přesto by mě ale zajímalo správné řešení...(sice to budeme ještě probérat ve škole, ale až po velikonocích).
    4.4.2012 22:16 MadCatX
    Rozbalit Rozbalit vše Re: Problém v JAVĚ

    Pokud jsem ten zdroják pochopil, děje se toto. Při startu programu se vytvoří dvě instance třídy Tank, které mají veřejné proměnně int x a int y, které představují počáteční polohu tanku na hrací ploše. Pro vykreslení polohy tanku používáš ITank a příslušné 4 třídy, které jej implementují, pro každou orientaci tanku jednu. Když překreslovací vlákno aktualizuje polohu tanku, volá nad TankD/L/N/P metodu setPozice() z interfacu IPosuvny. Problém je, že pokud ten zdroják čtu dobře, není tam nic, co by aktualizovalo souřadnice x,y tanku jako takového, upravuje se jen místo, kde se tank nakreslí. Detekce kolizí ale kontroluje pozici tanku oproti x,y z třídy Tank, která se po celou dobu běhu programu nemění.

    Obávám se, že žádný quick fix mě nenapadá, máš to totiž celé trochu divně navržené. Nevím, zda to po vás takhle ve škole chtěli, ale mít dva totálně nezávislé objekty pro tank a pro cosi, co zařídí jeho vykreslení mi přijde dost nesmyslné.

    Pár hnidopišských poznámek na závěr ;)

    • Pokud chceš, aby ti kód někdo revidoval, přidej tam nějaké komentáře. Docela mi trvalo, než jsem pochopil, jak ta věc vlastně pracuje. Zejména ta detekce kolizí byla schovaná doopravdy důmyslně:)
    • Zkus dodržovat nějaký coding style. Vím, že když něco urputně odmítá fungovat, je otrava zarovnávat závorky a odsazení, ale ten kód se fakt nečte moc dobře.
    • Z metod typu
      public Koule pal() {
         Koule strela;
         strela = new Koule(...);
         return strela;
      }
      
      mi vypadávají vlasy, tohle totiž funguje úplně stejně dobře
      public Koule pal() {
         return new Koule(...);
      }
      
    • Je doopravdy nutné mít čtyři třídy jen proto, abys vykreslil tank ve čtyřech možných orientacích? Jednak duplikuješ dost kódu, což zvyšuje riziko nějakého bugu (který budeš navíc opravovat 4x) a druhak je do dost nepřehledné (taky by to mohlo mít nehezký dopad na výkon).

    Hezké Velikonoce, vyřešit problém sám je vždycky lepší, než si od někoho vyslechnout řešení, takže s chutí do toho:)

    Založit nové vláknoNahoru

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

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