NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
S účinností od 26. 3. jsme aktualizovali Zásady zpracování osobních údajů – doplnili jsme informace o monitorování telefonických hovorů se zájemci o studium. Ostatní části zůstávají beze změn.

Diskuze – Lekce 7 - Java - Aréna s bojovníky

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Roman
Člen
Avatar
Roman:25.6.2015 17:34

Servus
Perfektný tutorial, stránku síce sledujem už dlhšie ale zaregistrovať sa sem ma napadlo až oveľa neskôr aj keď sa to sem nehodí len by som chcel povedať: som rád, že existujú ľudia čo si dali námahu s týmto všetkým "pod tým samozrejme myslím celú stránku nie len program :)" klobúk dole a dúfam že to vydrží aj tak naďalej prajem len veľa úspechov :)

 
Odpovědět
25.6.2015 17:34
Avatar
Marek
Člen
Avatar
Marek:25.7.2015 1:14

Užasný tutoriál chvílema jsem sice an něj nadával tos e přiznávám :D seděl sjem u toho jak mamut a koukal se na to a přemýšlel co je špatně sakra. Pak jsem se dohnal k tomu že jsem to začal dokonce porovnávat řádek po řádku :D ,ale pak jsem na to konečně přišel chyběla tam někde nějaká čárka a odrazník. Bylo to jen mou únavou. Díky za vaši stránku je super :)

Odpovědět
25.7.2015 1:14
Nekecej a programuj
Avatar
Lubor Pešek
Člen
Avatar
Odpovídá na Michal Haňáček
Lubor Pešek:12.1.2016 13:49

Nazdar
chtěl jsem reagovat před měsícem, ale teď jsem měl své problémy, tak ti to píšu až včil:)

ten kód by vypadal asi takto:

private void zapas() {
        while (ncferrari.isNazivu() && ferrarie.isNazivu()) {
            vypis("\n\n*************************" + cisloKola + ". kolo" + "**************************");
            vypis("             NA ŘADĚ JE " + hracNaRade);
            hracNaRade.utoc(protivnik);
            vypis(hracNaRade.getMessage());
            vypis(protivnik.getMessage());
            ukazkaZdravi();
            prehodHrace();
            cisloKola++;
        }
    }

a pochopitelně to potřebuje definovat zmíněnou metodu prehodHrace:

private void prehodHrace() {
        if (hracNaRade == ncferrari) {
            hracNaRade = ferrarie;
            protivnik = ncferrari;
        } else {
            hracNaRade = ncferrari;
            protivnik = ferrarie;
        }
    }

PS1: je to jen ukázka dvou metod, které vyžadují další deklarace druhých metod a atributů. Samostatně vám fungovat nebudou - to pro ty, kteří kopírují cizí kódy na zkoušku k sobě do nových projektů (i já to dělávám:D)

PS2: ncferari a ferrari jsou bojovníci, ale já si je tak pojmenoval:) jsou to moje názvy postav z wowka:)

Odpovědět
12.1.2016 13:49
Existují dva způsoby, jak vyřešit problém. Za prvé vyhoďte počítač z okna. Za druhé vyhoďte okna z počítače.
Avatar
Lubor Pešek
Člen
Avatar
Lubor Pešek:12.1.2016 13:56

vypis() je to samé, jako v ukázkovém příkladu vypisZpravu()
ukazkaZdravi() je to samé, jako v ukázkovém příkladu vykresli()
getMessage je to samé, jako v ukázkovém příkladu vratPosledniZ­pravu(), ale já osobně už neumím používat slovíčka vrat, dej, navrat, nastav, udelej apod:) prostě settry a gettry a když to jde, tak v angličtině

atribut cisloKola je moje číslování kol, aby to bylo přehlednější
hracNaRade je další atribut, který v sobě uchovává referenci na hráče, který splní podmínku v metodě prehodHrace()

Odpovědět
12.1.2016 13:56
Existují dva způsoby, jak vyřešit problém. Za prvé vyhoďte počítač z okna. Za druhé vyhoďte okna z počítače.
Avatar
Hans Deutscher:11.2.2016 21:23

Chtěl bych moc poděkovat za tento i všechny ostatní tutoriály! Jsem začátečník v programování, ale hrozně se mi to líbí a hrozně mě to baví. Kdyby se mi podařilo se tím jednou živit, byl bych moc rád.
Každopádně jsi mi zase ukázal nové způsoby, techniky a metody, za což ti moc děkuji. Vše jsem perfektně pochopil a vše funguje hladce a bez problémů.

 
Odpovědět
11.2.2016 21:23
Avatar
Vít Pelc
Člen
Avatar
Vít Pelc:12.3.2016 22:27

Díky moc za tutoriál... jen bych chtěl nahlásit jeden menší problém. Když si dám vypsat grafický život, tak mi při plném zdraví vypíše buď jenom jeden "#" a nebo nevypíše žádný. Kód mám přesně podle vzoru (viz. tutoriál). Prosím poraďte, co s tím?

 
Odpovědět
12.3.2016 22:27
Avatar
Honza Novotný:27.7.2016 12:36

Ahoj, v textu se píše "Kód vypíše jednoduché informace a po stisku klávesy přejde do cyklu s bojem." Po stisku klávesy? Takto napsaný kód pokračuje a na stisk klávesy nečeká. Něco jsem přehlídl? Respektive jak se dá udělat, aby se program pozastavil a počkal na stisk klávesy?

 
Odpovědět
27.7.2016 12:36
Avatar
pocitac770
Tvůrce
Avatar
Odpovídá na Honza Novotný
pocitac770:16.8.2016 21:17

Je to text okopírovaný z tutoriálu pro C#, tam to opravdu je..

Console.WriteLine("Vítejte v aréně!");
Console.WriteLine("Dnes se utkají {0} s {1}! \n", bojovnik1, bojovnik2);
Console.WriteLine("Zápas může začít...");
Console.ReadKey(); /* zde je ono čekání na klávesu */
// cyklus s bojem
while (bojovnik1.Nazivu() && bojovnik2.Nazivu())
.....

Bohužel Java toto pro základní konzoli nemá (tedy alespoň co vím), takže tato funkcionalita byla z programu odebrána, ale nějak se na to v textu zapomnělo.

Editováno 16.8.2016 21:19
 
Odpovědět
16.8.2016 21:17
Avatar
pocitac770
Tvůrce
Avatar
pocitac770:16.8.2016 21:23

Jediné, co mě napadá jako náhrada je prázdné načtení řádku z konzole, ale to musíš použít enter (takže náhrada by mohla být "zmáčkněte enter pro pokračování"), s tím, že by jsi klasicky přidal do kódu řádky

System.out.println("Zmáčkněte ENTER pro pokračování");
new Scanner(System.in).nextLine();
 
Odpovědět
16.8.2016 21:23
Avatar
Odpovídá na pocitac770
Honza Novotný:30.8.2016 17:06

Dík, asi to tak vyřeším :)

 
Odpovědět
30.8.2016 17:06
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 55.