Anonymní profil Matrix17 – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Matrix17 – Programujte.comAnonymní profil Matrix17 – Programujte.com

 

Příspěvky odeslané z IP adresy 213.226.237.–

Matrix17
Java › Java cards programm
17. 2. 2018   #219768

Já bych se držel anglického názvosloví tj. Spade, Club místo "Pike" a "Clover". Dále nevidím důvod pro bool proměnnou "colorBlack". Navíc se tam operuje s color ale nikde tam color není... Takže celkově to chce lépe pojmenovat proměnné, aby odrážely obsah. Místo shape dát color například.

Rank bych dal spíš jako value a místo card pack spíš card deck...

Opravit názvosloví, přejmenovat proměnné a možná i specifikovat dotaz. :)

Matrix17
Java › Priorita pro časovač
10. 12. 2017   #218917

Ono hodně záleží, co chceš vlastně takto periodicky vykonávat a jak dlouho trvá samotná úloha v tom timeru.

Každpádně timer, který jsi použil je určený pro updatování na vlákně swingu. Tj. pokud máš grafickou aplikaci a šaháš v té úloze na prvky v gui tak je tohle ten timer, který bys měl použít. Ale ta úloha by měla být opravdu rychlá, jinak by bylo lepší použít swingworker.

Pokud nemáš gui aplikaci, tak by bylo lepší použít timer z knihovny java.util. Což by možná mohlo tvůj problém vyřešit.

Další varianta je vytvořit si vlastní vlákno a hlídat si ten čas sám. Vláknu můžeš nastavit i prioritu, takže by ses možná dostal k tomu, co potřebuješ.

Ale hodně záleží na tom, co vlastně děláš v timeru a ve vláknech okolo. Nemyslím si, že by měl mít libovolný z obou procesorů problém stíhat ten interval. Já bych rozhodně doporučil timer z java.util (pokud nešaháš na gui ale i to se dá ošetřit).

Matrix17
Java › Hra v Jave - review kodu
4. 11. 2017   #218344

V první řadě bych se zeptal vyučjícího na nejasnosti v zadání. Například na obouruční zbraně. Jinak můžeš samozřejmě použít přístup pokus-omyl a vyzkoušet co se stane když:

1) obouruční zbraň je v obou rukách (instance je nastavená pro obě ruce stejně) - > budeš muset přizpůsobit ozbrojení a výpočet útoku

2) nainivní přístup, obouruční zbraně nehrají roli a může ji mít v jedné ruce, tomu odpovídá i příklad v zadání

To, že ti to špatně počítá zranění je tím, že máš špatně vzorec ve funkci branSe. Navíc se divím, že se ten test vůbec spustil, když si nedodržel zadání (základní struktura tříd neodpovídá zadání).

Třída ruka je naprosto zbytečná a navíc porušuje OOP. Chtělo by to celkově trochu refaktorovat. Je to ale poměrně pěkný zadání. Sám sem si ho napsal, protože je hezký a na pár minut. :)

Matrix17
Java › Zmna názvu txt súboru
20. 8. 2017   #217591

Pokud vysloveně netrváš na tom napsat si všechno sám, tak doporučuju použít knihovnu log4j. Má tohle, copíšeš je tam implementovaný a spousta dalších věcí.

Co se tvého problému týká. Bylo by dobré říct, co přesně znamená "nefunguje". :) Potom taky jak plníš proměnnou, kterou používáš jako název souboru. Vytvořit string, s měsícem a dnem není nijak složité ale je dobré si pamatovat, že znak '/' nemůže být v názvu souboru. :) Takže bych spíš použil tento formát: '08-2017.txt".

Matrix17
Java › Android - vymazání řádku z l…
19. 5. 2017   #216130
Matrix17
Java › Java UDP Audio
13. 5. 2017   #216018

#1 lambada
Problémů tam bude trošku víc. Je potřeba si prvně přečíst něco o tom, jak funguje UDP.

  1. může se stát, že ty pakety ti dorazí v jiném pořadí než je odešleš (nemáš ošetřené)
  2. UDP není potvrzované, takže se ti může i stát, že ten paket "zabloudí" a nedorazí vůbec (nemáš ošetřené)
  3. Jak píše #2 gna, bylo by dobré nedělat nic časově náročného na příjmu dat. Jinak se ti stane, že zatím co si budeš někam ukládat data, přijdou ti nová a jelikož si zrovna neměl "nastražené ucho" tak si je propásl.

Řešení prvních dvou problémů jsou například: Použít TCP místo UDP nebo si udělat vlastní protokol nad UDP a zařídit si, že je přijetí paketu potvrzené serverem a správně řazené za sebou.

Matrix17
Java › Problém s načítáním do ze so…
13. 5. 2017   #216017

#4 Honza
Kolekce je jak píšeš například ten arrayList, Mapa, Set...

Co ti nejde? Však otevřeš soubor a přečteš data a ty pak jen uložíš do toho listview.

Čteční ze souboru:

try(BufferedReader br = new BufferedReader(new FileReader("cesta k soubor.txt")))
    {
      String line = br.readLine();
      List<Player> players = new ArrayList<>();

      while (line != null)
      {
        System.out.println("Radek souboru: " + line);

        players.add(new Player(...))

        line = br.readLine();
      }
    }
    catch (Exception ex)
    {
      ex.printStackTrace();
    }

To co si načteš si uložíš do svojí třídy tj. Player.

Když máš takhle načtenej a naparsovanej soubor tak už ho jen překlopíš do toho listview.

playersList.setItems(FXCollections.observableArrayList(players));

Matrix17
Java › Pomoc s programem na narozen…
23. 4. 2017   #215690

#1 Jarous
Tahle funkce ti vrátí rozdíl dvou datumů ve dnech:

ChronoUnit.DAYS.between(start, end);

Takhle by mohlo například vypadat řešení:

    LocalDate[] birthdays = {
            LocalDate.of(1992, 5, 24),
            LocalDate.of(1992, 4, 24),
            LocalDate.of(1992, 4, 22),
            LocalDate.of(2017, 4, 22),
            LocalDate.of(2017, 4, 24),
            LocalDate.of(2017, 4, 28),
            LocalDate.of(2018, 4, 23)
    };

    for (LocalDate bd : birthdays)
      System.out.println("Budu mít narozeniny za (dny): " + getDaysToBirthDay(bd));
  }

  private static long getDaysToBirthDay(LocalDate birthday)
  {
    LocalDate currentDate = LocalDate.now();// aktuální datum

    if (birthday.isBefore(currentDate))// pokud se narodil před dnešním dnem
    {
      // uloží si den v letošním roce kdy má narozeniny
      LocalDate birthdayThisYear = LocalDate.of(currentDate.getYear(), birthday.getMonth(), birthday.getDayOfMonth());

      if (birthdayThisYear.isBefore(currentDate))// pokud už měl tento rok narozeniny
        return ChronoUnit.DAYS.between(currentDate, birthdayThisYear.plusYears(1));
      else
        return ChronoUnit.DAYS.between(currentDate, birthdayThisYear);
    }

    return ChronoUnit.DAYS.between(currentDate, birthday);// teprve se narodí
  }


Případně si to modifikuj pro své potřeby. ;)

Matrix17
Java › Problém s tlačítkami Try Aga…
19. 11. 2016   #213679

#1 Rikimaru
A pri všetkých "game.gameState" mi píše: "The static field Game.gameState should be accesed in static way.

Tohle ti to píše nejspíš proto, že máš ve třídě Game atribut gameState jako statický a přistupuješ k němu přes instanci. Tj. správný přístup ke statickému objektu je Game.gameState ne přes jeho instanci. Běžné řešení je přes getter a setter a ten atribut dej private a NEstatický.

Úplně nechápu jak máš vytvořené gui. Tlačítku můžeš nastavit jeho handler, který po kliku provede akci, takže nemusíš vůbec řešit kontrolování pozice myši atd. Snaž se využít maximálně toho, co komponenty umí a zbytečně si nepřidělávat práci. Na netu je na tohle spousta příkladů. ;)

Matrix17
Java › javaFX: stage/scene
2. 9. 2016   #212556

Budeš potřebovat další Stage. Tj. každé okno má vlastní stage. Po kliknutí na tlačítko přihlásit (ověření loginu a hesla) zavoláš nad aktuálním oknem hide() a nad tím novým oknem show().

Matrix17
Java › Java syntax checking
23. 7. 2016   #212071

#3 Miki
Tak můžeš se podívat třeba na zdrojové kódy eclipse. Je z něj odvozena spousta prostředí... A určitě by to pro tebe mohlo být zajímavé.

Matrix17
Java › Java fx - Eventy
5. 6. 2016   #211202

#5 me.name
Aha tak v tom případě, mě už vůbec nenapadá na co potřebuješ tu pozici obrázku. Dyť ta tvá třída by měla mít už v konstruktoru nějakou doménovou třídu nebo něco, co má kompletní informace k tomu, co chceš zobrazovat.

Tj. jediný co pak musíš udělat je třeba tohle:

final MyImageView prvekGridu = new MyImageView(tridaSInformacemaOObrazku);

prvekGridu.setOnMouseClicked(new EventHandler<MouseEvent>()
{
  @Override
  public void handle(MouseEvent event)
  {
    prvekGridu.aktualizujObrazek(novyObrazek);
  }
});


Případně do toho handleru můžeš hodit jinou třídu, která ten novej obrázek bude mít v sobě a na základě něčeho ti dá takovej, jakej potřebuješ. Ale nevím, jak přesně ten program, co děláš funguje ani čeho přesně chceš dosáhnout ani jak ty obrázky prohazuješ.

Matrix17
Java › Java fx - Eventy
4. 6. 2016   #211187

#3 me.name
Jakou komponentu používáš na vykreslení obrázků? Má každej obrázek vlastní komponentu?

Matrix17
Java › Java fx - Eventy
4. 6. 2016   #211157

Však pokud má každej obrázek svůj vlastní handler, "víš", na který uživatel kliknul a akorát ho obnovíš nebo vyměníš...

Ale podle popisu to vypadá jako by ses snažil zprácovávat jen události ze všech a pak zkoušel určit, co vlastně tu událost vyhodilo. Taky by to šlo ale tahle cesta by ti dala zbytečně moc práce.

Zkus to jak jsem ti naznačil. Každý obrázek bude mít vlastní handler, který bude dělat akci, kterou chceš. Tj. nebudeš to zpracovávat centrálně ale každej obrázek se "obslouží sám".

Matrix17
Java › Oddálení/vypnutí spořiče obr…
4. 6. 2016   #211156
Matrix17
Java › Analýza textu
8. 5. 2016   #210556

#17 Martin
V obou případech, co si sem dával, si tam příponu souboru neměl. Takže to správně vyhodilo výjimku, že to ten soubor nenajde. protože tam soubor "test", jednoduše není. Možná tam je soubor test.txt, ale to je už tak nějak na tobě aby sis zkontroloval cestu k souboru.

Další věc je, že ten soubor musí mít kódování UTF-8 jinak ti to potom vyhodí další výjimku...

Ale jako první si zkontroluj tu cestu k souboru. A tím myslím, včetně přípon, velikostí písmen a existence souboru v daným adresáři.

Matrix17
Java › Analýza textu
7. 5. 2016   #210529

#12 Martin
Konečně nějaká chyba... A ta říká, že to nemůže najít soubor. Protože máš špatně cestu k souboru. Předpokládám, že tam ten soubor máš ALE cesta je neplatná protože bys musel dát escape sekvenci u každýho lomítka.

Z toho důvodu sem tu cestu pro windows napsal tak, jak sem ji napsal... Takže otoč lomítka mělo by to ten soubor přečíst. ;)

Matrix17
Java › Analýza textu
7. 5. 2016   #210524

#10 JoDiK
Naposled dneska a sem si víc než jistej, že to co sem napsal je správně a hlavně funguje to. Už to pár let používám. Plus jako benefit nemusíš dávat escape sekvenci abys napsal cestu. ;)

Matrix17
Java › Knihovny, jak opravit nebo s…
23. 4. 2016   #210143

#1 Lukáš
Přesně jak ti píše kit. Navíc ty chyby, co si myslíš, podle mě vůbec nesouvisí s těma importama. Jak znám eclipse, máš to jen podtržený proto, že ty importy nepotřebuješ. Tj. nikde v kódu není použita metoda/třída/konstatna..., která by v daných balíčcích byla definována.

Eclipse se ti snaží říct: hele smaž to stejně to nepoužíváš.

Mluvím čistě o těch podtržených žlutou vlnovkou...

V tomhle případě s knihovnama nic v nepořádku není. Pokud nějaký problém přesto máš, dodej screen, ze kterého se dá něco vyčíst. Ideálně chyby, které ti to vyhazuje + kód.

Matrix17
Java › Program prestal pracovať?
23. 4. 2016   #210142

Základ všeho je rozběhnout si tam logování. Tj. například knihovna Log4J. Následně si hlídat pořádně všechny případy, kdy něco může způsobit výjimku a řádně ji ošetřit a samozřejmě i zalogovat, pokud je to něco "zajímavého". Zajímavým mám na mysli například stav, kdy by se za normálních okolností neměla výjimka objevit ale vlivem něčeho/někoho se výjimka vyhodí.

Pokud se ti logování rozbíhat nechce nebo by to bylo moc práce, tak jedině program spouštět v debugu a breaknout si ho na těchmístech, kde by se mohl stát problém (vyskočí ta výjimka)...

Každopádně by ses ale měl podívat a případně i ošetřt výjimky, které si přehlídl. Víc ti bez kódu neporadím.

Matrix17
Java › Java - rada od pokročilých
27. 3. 2016   #209481

#8 Michal
Celkem si mě pobavil. :) Nicméně, možná by bylo pro tebe snazší použít rovnou nějakej engine bez toho aby sis psal všechno sám. Jako jo, použít openGL pro javu je taky cesta ale podle příspěvků (nic ve zlým) to asi nebude úplně pro tebe, protože to chce trochu víc zkušeností...

Takže zkus google a java game engine.

Třeba tenhle vypadá celkem solidně:

https://wiki.jmonkeyengine.org/doku.php/jme3#tutorials_for_beginners

Ale je jich plno, já sem si chvíli hrál s jedním, co byl celkem jednoduchej ale bohužel si nemůžu vzpomenout jak se jmenoval. :( Ale google určitě něco najde. ;)

Matrix17
Java › Genericka metóda
6. 3. 2016   #209118

Podle mého názoru mezi nimi rozdíl není. Jen si z generické metody udělal specializovanou ale fungovat by měly obě stejně.

Matrix17
Java › Alarm dle východu slunce
6. 3. 2016   #209104

Tak předně to vlákno rozhodně musí mít Thread.sleep(cas_v_milisekundach). Je to z toho duvodu aby si procesor "odpočinul" a mohl dělat taky něco jinýho... Tj. do toho nekonečnýho cyklu přidej sleep.

Další věc, to že to kontroluje cca 1 000 000 / sec tbych netvrdil. Může to tak být na tvém počítači ale obecně to rozhodně není pravda. Navíc je to naprosto zbytečné. Máš tam rozlišení na minuty a hodiny, takže i kontrola jednou za sekundu je zbytečná. Stačí ti to jednou za půl minuty nebo i jednou za minutu. Já bych dal spíš jednou za půl minuty.

Teď k dotazu. Předpokládám, že to je program co běží na klasickým počítači. Takže vše co potřebuješ je, vytáhnout si aktuální systémový čas. Zjistit jakej je měsíc a pak porovnat aktuální čas s tím uloženým. Když zjistíš, že je např. 5:23 a slunce má ten měsíc vycházet řekněme v 5:25. Tak se nic neděje... Jelikož se tohle kontroluje jednou za půl minuty tak by se ti nemělo stát, že to "prošvihneš" a pokud ano tak max o sekundy takže stejně o nic nejde (slunce není sprinter to nikam nezdrhne). Takže když se aktuální čas rovná nebo už je za hranicí, tak alarm začne zvonit.

Matrix17
Java › Doporučení pro začátek v Javě
25. 12. 2015   #207524
Matrix17
Java › Pomoc s textoovu hrou
21. 12. 2015   #207469

#1 Petra Melán
Jako první bych se spíš snažil projít nějakej tutoriál k javě. Jelikož plánuješ textovku, tak se nemusíš prát se swingem/FX atd. Tudíž to bude celkem přímočarý.

Třeba tady sou pěkný:

http://www.itnetwork.cz/java

Pak můžeš aplikovat stavový automat jak radí.#2 RomanZ.

Matrix17
Java › Chyba v projektu důležité
21. 12. 2015   #207454

Omlouvám se, nevšiml sem si toho vytváření a zavírání, co máš na obou místech stejný (hodilo by se to hodit do funkce). Nicméně to, že tam máš jen název souboru a nebojíš se toho, kde se soubor vytvoří ani odkud ho čteš není dobře. Určitě tam dej absolutní cestu. Třeba do složky s aplikací ale takhle je to trochu hazard...

Matrix17
Java › Chyba v projektu důležité
21. 12. 2015   #207453

Jako první bych tě chtěl upozornit, že jestli tohle běží na jiným vlákně než vlákně swingu, tak ti může vzniknout problém... Takže bys tam měl mít něco jako tohle pro překreslení "okna":

SwingUtilities.invokeLater(new Runnable()
      {
        @Override
        public void run()
        {
          // kód, který se má provést na vlákně swingu
        }
      });

Dále se ti může stát a také i stane, že po zapsání hodnoty do souboru nezavřeš BufferedWriter. To taky není dobře a měl by si to ošetřit. Teď se uzavře BufferedWriter pouze tehdy, když nemá dostatečné skóre, což vůbec není dobře. Jelikož si ani nemůžeš být jistý, že je BufferedWriter otevřený...

A k tvé původní otázce. Vypisuje ti to nějakou výjimku? Pokud ano, jakou? Co znamená "problém s načtením a zápisem proměnné do souboru"?

Matrix17
Java › Swing propojení s greenfoot
21. 12. 2015   #207452

Co je greenfood nevím ale abys zobrazil ve swingu okno tak ho musíš dát do Jframe. Pak dát tomu framu setVisible. Samotný JPanel je pouze obsah okna ne okno... Tj vytvoř si JFrame a přidej do něj ten panel.

Matrix17
Java › JButton volá metodu
16. 3. 2014   #188288

#8 Kit
Přesně tak by to mělo být ale je to kanon na vrabce. Jen ta funkce měla reprezentovat funkci z doménový vrstvy ale dělat kvůli tomu tomu dalších x věcí jen abych vytvořil tlačítko v panelu je hroznej overkill. Jen sem chtěl co nejjednoduší příklad a netahat do toho pokud možno nic navíc. Tvůj kód je rozhodně lepší pro pozdější použití. :)

Matrix17
Java › JButton volá metodu
16. 3. 2014   #188274

#6 Kit
Ano tohle je to, co myslel tím, že se to dá napsat líp. :)))

Btw. Objektově zapsaný je oboje. Sice se to chová stejně ale stejně to nefunguje. Proměnná, která měla bejt lokální a v konstruktoru jiný třídy je teď u tlačítka, kde být neměla (právě proto tam musí být final, u tlačítka tohle už neplatí). Funkce, která je private a patří framu (aby ukázala, že jak zavolat metodu jiné třídy) je action listeneru, kde vůbec být nemá.

Matrix17
Java › JButton volá metodu
15. 3. 2014   #188244

Pokud s javou začínáš, tak bych ti prvně radil spíš konzolový programy... Ale tohle by mělo být, co potřebuješ.

public class MainFrame extends JFrame
{
  private static final long serialVersionUID = 1L;
  
  public MainFrame()
  {
    final String externVar = "Proměnná s textem";
    JButton button = new JButton("Tlačítko");//vytvoří tlačítko s nápisem
    
    button.addActionListener(new ActionListener()//přidá akci tlačítku
    {
      @Override
      public void actionPerformed(ActionEvent arg0)
      {
        System.out.println("Ahoj, testovací výpis do konzole.");
        printText("Funkce - " + externVar);
      }
    });
    
    JPanel panel = new JPanel();
    
    panel.add(button);//přidá tlačítko do panelu
    panel.setPreferredSize(new Dimension(300, 200));//nastaví velikost panelu
    
    this.add(panel);//přidá panel do okna
  }
  
  private void printText(String text)
  {
    System.out.println(text);
  }

  public static void main(String[] args)
  {
    MainFrame frame = new MainFrame();
    
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//nastaví implicitní operaci pro akci kdy uživatel "zažádá" o uzavření aplikace
    frame.pack();//nastaví velikost panelu  na velikost komponenty (tj. toho panelu co má velikost 300x200)
    
    frame.setVisible(true);//zviditelní okno na obrazovku
  }
}

Tohle dělá to, co bys chtěl. De to napsat i líp ale pro začátek snad stačí.

Matrix17
Java › JButton volá metodu
14. 3. 2014   #188207

Stačí si vytvořit tlačítko, dát mu action listener a z něj zavolat nějakou metodu. Parametry mu tam přidá jaký chceš.

Matrix17
Java › Problém s kompilací
24. 1. 2014   #186650

Stačí si přečít, co ti to píše... Je tam i příklad použití... Tys ten program spustil špatně takže ti vyhodil chybu a ukázku toho co máš udělat aby to fungovalo. TJ.

javac <příznaky> "zdrojový soubor"

Když si zadadáš javac -help nebo jen javac tak uvidíš celou syntaxi příkazu.

Matrix17
Pascal › SIGnal Floating Point Error
24. 12. 2013   #185586

Možná by bylo lepší, kdybys ukázal ten kód. Tohle je vaření z vody. Ale to co si sem hodil není ošetření jen ukázka jak shodit program.

Matrix17
Pascal › SIGnal Floating Point Error
24. 12. 2013   #185583

#3 SamuelKo
Mrkl sem na net a mělo by to být jak říká lukáš. Tj. dělíš nulou. Takže to ošetři a je to vyřešený.

btw. Nevím jestli jsem tě správně pochopil ale zdá se mi, že říkáš, že pascal zvládá dělit nulou. To je samozřejmě hloupost ale asi sem tě jen špatně pochopil.

Matrix17
Java › GUI- nefunkční tlačítka
14. 12. 2013   #185255

Musíš tomu tlačítku přiřadit listener. Tj. udělat něco jako tohle:

JButton tlacitko = new JButton();

tlacitko.addActionListener(new ActionListener()
  {
    @Override
    public void actionPerformed(ActionEvent e)
    {
      // TODO akce, ktera se ma udelat
    }
  });
Matrix17
Java › použití Javy?
8. 12. 2013   #184942

#2 Kowalsky95
Na androidu neběhaj java aplikace. Na adroidu totiž není ani v základu java nainstalovaná (JVM).

Matrix17
Java › Java a výkonost her v ní
7. 12. 2013   #184886

POZOR na adroidu NEBĚŽÍ java aplikace POKUD si tam javu nedoinstaluješ. Adroidí aplikace mají java like jazyk ale není to java, kvůli jisté soudní tahanici.

Na javu FX pozor, na klasickým desktopu to problém nebude a rozhodně výkonostně v pohodě ale na jiný architektuře (ARM například) může bejt s výkonem docela problém (v nový verzi už to je třeba odladěnější ale ještě nedávno ten výkonovej propad byl znatelnej - swing vs FX).

Matrix17
Java › Java-výstup od uživatele
17. 11. 2013   #184039
Matrix17
Java › Java čtení emailů přes pop3
15. 11. 2013   #183968
Matrix17
C / C++ › Nedaří se kompilace kodu v C…
6. 10. 2013   #182010

Tošku odbočím. Jestli si začátečník tak si stáhni nějaký vývojový prostředí, co tohle bude řešit za tebe. Když budeš časem psát větší projekty, tak to pro tebe stejně bude potřeba.

Např.: Visual Studio Express, Code::Blocks, Eclipse...

Matrix17
Pascal › pascal - hra kostky
25. 8. 2013   #180808

Vygeneruješ si náhodný číslo (počet zobrazení). Pak si v cyklu (už nevím, jestli se jmenuje v pascalu for nebo ne) vypíšeš náhodný číslo chviličku počkáš, vrátíš pozici cursoru, vygeneruješ nový, vypíšeš, dokud to nedosáhne čísla, který sis vygeneroval na začátku (počet zobrazení). Na konci si necháš to poslední vygenerovaný.

Matrix17
Java › Asociace vs. agregace
23. 8. 2013   #180731

Google (asociace oop), druhej odkaz:

http://blog.renestein.net/UML+O+Agregaci+Kompozici+A+Asociaci+A+Jako+Bonus+Spole%C4%8Densk%C3%A1+Aktualitka.aspx

Matrix17
.NET › C# VS2010 jak na sdílenou tř…
11. 8. 2013   #180221

#4 Aigor
Přihoď prvnímu projektu referenci na druhej projekt. To by mělo stačit a je to běžná praxe. Viz. více vrstvé architektury...

Matrix17
C / C++ › sdl nebo allegro?
4. 8. 2013   #179889

Já bych osobně dal přednost Allegru. Příde mi mnohem jednodušší. SDL sem moc nepřišel na chuť: :)

Matrix17
Java › Program na rozdělení služeb…
26. 7. 2013   #179640

Můžeš to udělat třeba takhle:

Máš třídu pracovník. Ta bude obsahovat pole celých čísel a indexy budou enum. V tom poli bude uložený kolikrát danou práci dělal. Další atributy třídy buou třeba nějakej počet odpracovanejch hodin, jméno atd.

 Ta třída by pak mohla bejt třeba takhle:

enum DruhPrace {KUCHYN=0, HLIDANI_STANU, UKLID};
const int POCET_PRACI = 3;

class Pracovnik
{
  private:
    short odvedenePrace[POCET_PRACI];
    string jmeno;
    short odpracovanychHodin;
  public:
    Pracovnik() {}    void zvys_pocitadlo_praci(DruhPrace druh)
    {
      odvedenePrace[druh]++;
    }
};

Samozřejmě je víc způsobů, jak to udělat. Potom bys akorát mrkl co máš na výběr a vygeneroval mu příslušnou práci, zvýšil mu počítadlo u daný práce a hotovo..

Matrix17
Java › Hledám RAD SW a vybírám jazyk
21. 6. 2013   #178332

Sorry mi to odeslalo odpověď moc brzy. :)

ad 2) Moc nechápu otázku. Tohle je o tom, co TY CHCEŠ aby ve hře bylo a pak si to tam doděláš.

ad 3) Stejně jako bod dva. Pokud si tam tohle chceš udělat tak si to tam uděláš. Je fuk jestli to naboucháš nebo naklikáš. Ale AI si neumím představit jinak, než že si jí sám napíšeš.

ad 4) Bez jediného řádku kódu to de. Podívej se na game maker. Jenom ty hry nebudou, tak dobře udělaný. Jednoduše řečeno, poznáš na nich, že to je naklikaný a ne naprogramovaný. Složitější věci tam nejspíš neuděláš vůbec nebo jen horko těžko a výsledek bude všelijakej. Btw. i mody se programujou a řekl bych především programujou.

ad 5) Kód z enginů bude takovej jakej si ho uděláš. Já si s nima až tak nehrál, takže nevím, co přesně generujou ani jak ten výsledek vypadá ale většinou si to vygenerovaný můžeš nějak sám formátovat a upravovat.

ad 6) Třeba se tu objeví někdo, kdo je nějak podrobněji zná nebo v tom dělá, já k tomu můžu říct spíš něco obecnýho. U profi her si buď vytvoříš engine sám (pokud na to máš kapacitu, čas a zdroje) nebo si "koupíš" už hotový řešení. Tj. máš plnou podporu od autorů, engine ale všechny úpravy a samozřejmě práci s ním si obstaráváš ty. Platíš samozřejmě za podporu, tu ve free verzi máš tak akorát na forech ale přímo od autorů málo kdy nebo jen když se někdo od nich michne na nějakejch těhle fórech. Zase to dost záleží na tom, kterej engine si vybereš. Jinak si klidně mód udělat můžeš ALE tvůj mód si pustí jen lidi, co mají tu hru. Ty na tu hru nemáš ani práva ani z ní nemáš zisky. Takže jo, můžeš klidně svůj mód prodávat ale cílová skupina (ti co si ho koupí) se ti ještě víc zmenšuje. Když si ten člověk kouí hru, která je dobrá, proč by platil ještě za tvůj mód? Buď by musel bejt fakt úžasně super nebo dávat něco úžasně super. Každopádně bys na tom asi nevydělal nic nebo skoro nic. Nejde tedy o etiku ale spíš o to, že na tom nemůžeš reálně nic moc vydělat. Spíš udělat ho zdarma, když bude úspěšnej tak udělat stand alone hru. Viz. třeba red orchestra a další.

ad 7, 8, 9) Stejně jako body na které odkazuješ.

ad 10) Jazyk se odvíjí od toho, co budeš chtít dělat. Na čem ta hra má běžet. Takže v případě prohlížeče, klidně HTML 5 nebo JAVA, FLASH (ten už zvládá i 3D) záleží, co je pro tebe dobrý. Je to vesměs fuk, Prvně musíš vědět, co chceš dělat, co tam chceš mít, co tam bude moct dělat hráč, co nějakej admin (ty nebo kdokoli jinej). Pohledat v čem by se ti to dělalo nejlíp, s čím mají lidi nejlepší zkušenosti případně v čem sou ty hry dělaný a proč.

ad 11) Pokud vím, tak není. UNITY, unreal engine myslím zvládá i hry v prohlížeči ale nevím do jaký míry si vystačíš s klikáním.

varianta C

Když budeš chtít využít javu, tak klidně. Nevidím důvod proč by ti neměla stačit. Rozhodně to není špatná volba a bude to multiplatformní. Časem můžeš udělat applet na web. Pro samotné grafické rozhraní můžeš využít JavaFX, kdyby se ti to nelíbilo tak třeba něco jinýho ale myslím, že by to pro tebe mohlo bejt dobrý. Když tak sou i různý GUI buildery pro swing.

Matrix17
Java › Hledám RAD SW a vybírám jazyk
21. 6. 2013   #178330

ad 1) Asi drtivá většina bude ovládat víc než jeden jazyk, řekl bych, že snad všichni. Hlavně z důvodu, že na něco je dobrý tohle, na něco jinýho zase něco jinýho. Naučit se další jazyk, když jeden ovládáš je záležitost celkem krátká. Omrkneš syntaxi, příkazy a zbytek příde s praxí. Samozřejmě to záleží na tom, co děláš.

ad 2) Moc nechápu otázku. Tohle je o tom, co TY CHCEŠ

Matrix17
Java › Hledám RAD SW a vybírám jazyk
15. 6. 2013   #178046

Pokud vím, tak OpenGL, PHP, Java ani Javascript nenaklikáš. ASP sice naklikat nějak de ale ten kód je pak mno slušně řečeno ne moc dobře čitelnej.

Pokud si chceš naklikat nějakou aplikaci "kancelářskýho typu" tak třeba visual studio je celkem dobrá cesta. Můžeš si tam pohrát s C#, C/C++, no mrkni se.

Jestli si chceš přímo skládat hru, tak zkus nějakej engine. Třeba: unreal engine, cryengine, unity...

Pokud bys ale chtěl ještě něco jinýho tak můžeš zkusit třeba Game Maker, kdysi dávno sem si s ním hrál. Když sem nedávno koukal, tak mu přidali spoustu vychytávek ale pořád je to dost intuitivní a hlavně primárně klikací prostředí.

Matrix17
C / C++ › #include <iostream>
31. 5. 2013   #177046

#5 lddangsta
Tak to se ve vývojovým prostředí podívej po klávesových zkratkách. Hádám, že > píšeš přes pravej alt a . to nejspíš má to prostředí jako nějakou zkratku pro něco, takže jí smaž a pude do. Nebo ten znak píšeš jinak?

Matrix17
C / C++ › #include <iostream>
31. 5. 2013   #177044

#2 hlucheucho
Soubor se nejmenuje iostream.h ale iostream. ;) Jméno má správně ale jelikož to je hlavičkový soubor C++ tak ho v C nemůže použít.

#1 lddangsta
Místo iostream, když píšeš v C musíš napsat:

#include <stdio.h>

Matrix17
C / C++ › Spojení allegro s c++
24. 5. 2013   #176606

Allegro je psaný v c takže není problém psát v C/C++. Akorát ho musíš rozchodit. Ale sou na to tutoriály na netu takže by ti to taky nemělo dělat problémy. V Code::Blocks si na to můžeš udělat šablonu takže už to pak nebudeš muset pro nový projekty nastavovat znova. :)

Matrix17
Java › obecné čtení(zápis) dat
3. 5. 2013   #175767

Moc nechápu o co ti de... Ale přijde mi, že bys chtěl asi něco jako tohle:

Uděláš si rozhraní, který bude mít metody třeba read a save. Read bude vracet kolekci objektů a parametr bude cesta odkud se má načítat. Save bude mít dva parametry, soubor kam se to má uložit (nebo jen složku s tím, že soubor si definuješ v tý metodě) a kolekci/objekt, kterej se má uložit.

Od tohohle rozhraní pak zdědí konkrétní třídy, který budou definovat tyhle metody. Díky tomu programuješ vůči rozhraní a to jak ta metoda je udělaná tě nezajímá. Můžeš to sypat do XML, CSV...

Nevím jistě, jak to je v javě ale takhle to nějak vypadá v C#. V javě to bude + - stejný. Takovejhle tříd můžeš mít víc a nebo můžeš kdykoli změnit implementaci bez toho abys měnil doménovou vrstvu aplikace. Pokud teda děláš aplikaci, která má presentační, doménovou a datovou vrstvu. Klidně i vícevrstvou aplikaci to je fuk.


public interface IReaderWriter
{
  void save(String filePath, List<int> ids);
  List<int> read(string filePath);
}

public ReaderWriter : IReaderWriter
{
  public void save(String filePath, List<int> ids)
  {
    //tady se provede uložení
  }

  List<int> read(string filePath)
  {
    //tady se načtou data
  }
}
Matrix17
C / C++ › C Funkce jako parametr funkce
21. 4. 2013   #175276

#6 František Brámek
Tak ukaž přímo kód... Ukázka, kterou sem dal marpit, by ti fungovat měla.

Matrix17
C / C++ › Chybové hlášky skrz scanf
16. 3. 2013   #172871

#3 Matrix17
Tu hvězdičku u charu tam mám navíc. Samozřejmě jen char slovo[50]; ostatní je správně.

Matrix17
C / C++ › Chybové hlášky skrz scanf
16. 3. 2013   #172870

#1 labuzník
Načítáš ty "stringy" špatně. Protože char* je vlastně ukazatel ne proměnná a ty předáváš scanf adresu proměnný, tj. u intu je to v pořádku ale u ukazatele tam musíš dát přímo ukazatel, ne jeho adresu.

Mělo by to být takhle:

char *slovo[50];
scanf("%s", slovo);
Matrix17
C / C++ › Má cenu studovat vysokou ško…
2. 2. 2013   #171043

Já ti taky radím vysokou aspoň zkusit, skončit můžeš vždycky ale čím budeš starší tím bude těžší začít.

Další věc, myslíš, že takových jako ty, co by chtěli programovat a mají JEN maturu je málo? Nevím, kolik toho umíš nebo kolik máš známejch ale bez nich nemáš velkou šanci, že se k něčemu takovýmu dostaneš, pokud nejsi opravdu nadprůměr. A i tak se může dost dobře stát, že přijde někdo, kdo tu VŠ bude mít a si v podstatě v háji.

Pak je tu stránka, že teď se musíš postarat jen sám o sebe. Ale časem to třeba nebude pravda. Dostat lepší plat bude snazší s VŠ. Se střední budeš první na ráně, když se začne propouštět, protože ti, co VŠ mají, mají taky širší záběr a museli něco dokázat aby ten titul získali.

Matrix17
Analogová technika › Převodník IDE (2,5") - USB 2.0
3. 1. 2013   #169737
Matrix17
Java › Program pre Javu
10. 11. 2012   #166325

Eclipse nebo Netbeans ti nejdou? Teda jestli tím program pro programování javy myslíš IDE.

Matrix17
C / C++ › Problem s podmínkou v c++
27. 10. 2012   #165395

Zkus se mrknout na slovníkovou strukturu. Je to paměťově mnohem míň náročný a hlavně se to používá přesně na tyhle věci. ;)

Matrix17
C / C++ › Konstruktor bez parametrů
27. 8. 2012   #162288

Aha sem si nevšiml, že ještě v mainu, nemáš definovaný proměnný který tam dáváš. Tj. ax, ay, r ani to c.

tj. int ax, ay, r, c; Ty si buď načti ze vstupu nebo se na ně vyprdni a napiš tam přímo hodnoty.

Matrix17
C / C++ › Konstruktor bez parametrů
27. 8. 2012   #162284

Smaž druhou definici funkce printValues().

tj.

void Circle::printValues() { x = ax; y = ay;  radius = r; color = c; }
Matrix17
C / C++ › Vypnutí tabulátoru
19. 6. 2012   #159277

Můžeš si kontrolovat jestli nebyl stisknutej (podle ordinálního čísla klávesy například nebo přes události) a když to nastane tak prostě nic neuděláš.

Matrix17
C / C++ › ošetření vstupů- jen kladná…
19. 6. 2012   #159276

#3 Pajda
Tak to načítej jako celá čísla. ;)

Matrix17
C / C++ › Ukládání do složky
31. 5. 2012   #158623

Nebo nemusíš nic přetěžovat a udělat to takhle:

sprintf (vysledek, "soubo%d.txt", cislo);

Matrix17
C / C++ › který engine?
11. 5. 2012   #157801

Těžko říct. Já sem teď přešel na verzi 5.0.6. A některý chyby se fakt blbě hledají. U svý hry sem několikrát přepisoval a přepisoval ale to bylo hlavně kvůli hloupýmu návrhu a taky hoooodně starýmu návrhu. Můžeš zkusit přejít na novou verzi ale bude to stát hodně práce s přespsáním kódu. Sou tam změny v metodách a hlavně v jejich názvech.

Matrix17
C / C++ › Vypsání výsledku dynamické m…
9. 5. 2012   #157651

   

for(i=0;i<(a*b);i++) {
	printf("%d", pole[i]);
}
Matrix17
C / C++ › hledá se vývojář programu 2
11. 4. 2012   #156475

#53 ninja řízek

Opravdu si zkus sepsat co ti radil yaqwsx. Je to řekl bych hodně dobře napsaný, dost trefný a konec konců tak začíná každej projekt od kterýho se něco očekává.

Jinak k syntaxi. To co se ti snažili ostatní říct i když místy trochu nevybíravě je, že člověk co neprogramuje může jen těžko udělat programovací jazyk. Na to potřebuješ zkušenosti nebo si aspoň načíst teorii.

Jako první si sepiš co ti radil yaqwsx. Když tě to i tak nepřejde (jako že asi ne), tak se zkus podívat po teorii ohledně překladačů/interpretů. V tvým případě určitě spíš interpret protože překladač je opravdu vyšší liga. Dovíš se tam potřebný věci co jazyk musím mít, jak je tvořenej, Že je tam nějaká množina terminálů a neterminálů atd. atd. A pak se znova vrať k tomu co sis sepsal (tj. to co ti poradil yaqwsx) a uvidíš jak dlouhá cesta to je, něco takovýho vytvořit.

Matrix17
C / C++ › hledá se vývojář programu
2. 4. 2012   #155874

#42 ninja řízek
Dobře tak opustíme ten sen o tom, že vytvoříš prostředí pro tvorbu her ve 3D s pokročilýma možnostma. Jen tak ze srandy. Jak si myslíš, že se takovej programovací/skriptovací jazyk tvoří?

Víš něco o gramatikách, automatech, derivačních stromech? Protože tohle všechno musíš a potřebuješ znát... A opět je to zase dokola...

Matrix17
C / C++ › hledá se vývojář programu
29. 3. 2012   #155638

#37 ninja řízek
Opravdu se s takovým projektem radši rozluč. Je to megalomanský a tak jak ty to plánuješ dělat i neproveditelný. Nikdo ti nebude x hodin denně nespočet měsíců dělat na programu ze kterýho nakonci MOŽNÁ něco kápne.

Je to jako bys nastoupil do práce a oni ti řekli, že rok bude pracovat zadarmo a když se jim osvědčíš tak ti pak za tu práci začnou i platit. Šel bys do takový firmy dělat? Pochybuju. Tohle opravdu není práce pro jedno ani dva lidi.

Matrix17
C / C++ › hledá se vývojář programu
19. 3. 2012   #155175

Tak se můžeš podívat i na Unity 3D. Já taky zastávám názor crazyho. Protože pouštět se ve dvou do takovýho projektu, je cesta na hodně dlouhou trať.

Ninjo a jak si vlastně představuješ to vytvoření jazyka? Prvně sem si myslel, že opravdu SÁM vymyslíš syntaxi, gramatiku a napíšeš nějakej interpretr. Ale když tvoje zkušenosti sou, že umíš pracovat s html a css tak hádám, že tuhle věc by asi taky dostal na práci druhý člen týmu...

Matrix17
C / C++ › hledá se vývojář programu
18. 3. 2012   #155121

A co třeba Unity 3D nebo Blender?

Matrix17
C / C++ › hledá se vývojář programu
17. 3. 2012   #155095

#13 ninja řízek
Ono tam nejde až tak o to, že by to zvládl nebo nezvládl. Vem si, že to udělá celý sám tak proč by ti měl dávat polovinu peněz? Když to prodá sám, pude mu do kapsy místo poloviny všechno...

Navíc tohle je zase takovej projekt, kterej nemá podle mýho názoru moc smysl. Takovejch nástrojů už je relativně dost a dokonce i zadarmo...

Matrix17
C / C++ › zacatecnik-nefunguje string…
13. 3. 2012   #154881

Btw. Můžeš místo metody length použít i metodu size(). 

Matrix17
C / C++ › SDL - otázky
18. 2. 2012   #153696

#15 lukas.balaz
Co si pamatuju tak soubory stderr.txt a stdout.txt slouží jako přesměrování standartního a to chybového výstupu do konzole. Takže myslím, že vypnout nepůjdou. Můžeš zkusit vymazat ty věci, co se jakoby do konzole vypisují nebo zkusit překompilovat zdrojáky jako realease.

Taky sem začínal na SDL ale některý věci řeší zbytečně low levelově a občas sem měl problém zprovoznit některý z pluginů. Ale třeba se ti SDL zalíbí. Je to dobrá knihovna.

Matrix17
C / C++ › SDL - otázky
16. 2. 2012   #153645

Za mě osobně bych doporučil allegro. Je multiplatformí, poměrně jednodnoduché na naučení a je na něj i relativně dost materilů.

Matrix17
C / C++ › Kompilator pre C++
28. 1. 2012   #152964

Můžeš klidně použít výše zmiňované Visual studio express, je jak pro osoboní tak i pro KOMERČNÍ užití.

http://www.microsoft.com/…-dotazy.aspx

Nebo případně výše zmiňované code::blocks. Volba je na tobě.

Matrix17
C / C++ › více objektů a přetypování m…
15. 1. 2012   #152400

Jestli to chceš až takhle větvit tak možná bude lepší využít operátor dynamic_cast (slouží k přetypování na potomka).

Otec *novy;

novy = new PotomekA();


dynamic_cast<PotomekA *>(novy)->FunkcePotomka();

Takhle si můžeš zavolat dynamicky funkci potomka a nemusíš mít virtuální metody v nadřazený třídě (třídě Otec). Bude to mít tu výhodu, že když to chceš traversovat na další a další potomky tak by ti základní třída šíleně nabobtnala.

Už si akorát potřebuješ nějak určit, co chceš zavolat když ti uživatel řekne, zavolej mi tohle a tohle.

Matrix17
C / C++ › více objektů a přetypování m…
14. 1. 2012   #152360

#1 xJakubS
A taky definuješ tu proměnnou x jako lokální jen a pouze v case. Takže když to pak chceš přetypovat tak jí to ani nezná.

Matrix17
C / C++ › Project
13. 1. 2012   #152341

1. C# patří do sekce .NET

2. Musíš ten kód zkompilovat jinak si můžeš přepisovat co chceš a exe se ti nezmění.

Matrix17
C / C++ › OpenGL pohyb v terénu
15. 12. 2011   #151271

S tím by neměl být problém. Ale musíš prvně udělat otočení a pak až posunutí.

Matrix17
C / C++ › C++ - friend operator
20. 11. 2011   #150245

Aha s novou normou sem se ještě tolik neseznámil. Dík za vysvětlení.

Matrix17
C / C++ › C++ - friend operator
20. 11. 2011   #150238

Předně vůbec nepotřebuješ definovat typy T a K ale stačí ti T. K je stejně stejný jako T a navíc to je matice takže všechny prvky by měly mít stejnej typ.

Pak třeba tyhle řádky sou mi moc nedávají smysl:

Matrix(Matrix<T,K>&& move);
Matrix() = delete;

Třeba mne někdo zkušenější opraví ale mně se to zdá špatně. Tyhle operátory třeba vůbec neexitustujou tak je asi ani nepřetížíš:

friend ostream&     (operator<<<>)(ostream& left, const Matrix<T,K>& right);
friend Matrix<T,K>  (operator*<>)(const K& left, const Matrix<T,K> &right);
Matrix17
C / C++ › Vypis ze struktury
6. 11. 2011   #149582

Důležitý nebo ne, jde o to se něco naučit. Kdybys to dělal pro zákazníka, ta¨k mu taky nemůžeš říct, hele to co chceš není důležitý, tak to neudělám. :)))

Jinak s tím vypisováním, prvně si vypíšeš znak | a pak vypíšeš položku. Žádná velká věda. ;) Ale pokud si chceš prvně nakreslit čáry a pak tam vypisovat, tak by sis na sebe upletl hodně velkej bič. Stačí když si zjistíš "délku" každý položky. Tj. počet znaků tý položky a pak jen upravuješ počet mezer aby to sedělo do tabulky.

Matrix17
C / C++ › vytvoření nové složky
2. 10. 2011   #148185

Nejspíš nemáš dostatečný oprávnění. Takže bys to musel spustit jako administrátor tj. s vyššíma právama.

Matrix17
C / C++ › odkazování na části programů
1. 10. 2011   #148145

Nezlob se na mě ale možná by bylo lepší se prvně naučit C/C++ než tu s každou hloupostí spamovat forum. Jinak se pořádně podívej co ti k tomu psal KIIV. Syntaxe je system("příkaz"); není to system("start příkaz");. Pokud tedy máš aplikaci hra tak by to bylo system("hra.exe");

Matrix17
C / C++ › prodleva probíhající současně
18. 9. 2011   #147619

 Takhle si uděláš tu časovou prodlevu inkrementaci už snad zvládneš.

#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

const int sekund = 5;

int main()
{
	clock_t konec = clock () + sekund * CLOCKS_PER_SEC;

	while (konec > clock()) {
		cout << "Cekam\n";
	}

	system("pause");
	return 0;
}

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý