Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Pouze tento týden sleva až 80 % na e-learning týkající se Swiftu. Zároveň využij výhodnou slevovou akci až 30 % zdarma při nákupu e-learningu - více informací.
swift week + discount 30
Avatar
KaBor
Člen
Avatar
KaBor:15.12.2018 12:22

Zdravím, potřeboval bych poradit s kódem. Mám třídy kde mám postavu, kde mám zbran, protivnika a pak mám jednu hlavní třídu kde to mám vlastně všechno pospojovat. Potřeboval bych poradit jak udělat to, že když uživatel nezadá u zbraně nic, tak to automaticky přestane načítat dál. Dále jsem se úplně zasekl u metody souboje. (Nevím jak se to tady dělá líp, tak ten zdroják je v příloze jako fotka a nebo v mých kódech nebo co ). děkuji za rady předem :)

Zkusil jsem: Zkoušel jsem hledat různé rady na googlu a pak také mrknout na tutoriál tady.

Chci docílit: Načtení zbraně a souboje mezi postavami.

 
Odpovědět
15.12.2018 12:22
Avatar
KaBor
Člen
Avatar
KaBor:15.12.2018 12:26
package ppa1;

import java.util.Scanner;

public class Ppa1u07 {

        public static String jmeno;
        public static int sila;
        public static int hbitost;
        public static int vitalita;
        public Zbran zbran;
        public Ruka ruka;
        public static String nazev;
        public static int obrana;
        public static int utok;
        public static Postava zautoc;
        public static Postava branSe;

        static Postava nactiPostavu(Scanner sc) {
                        Postava postava = new Postava(jmeno, sila, hbitost, vitalita);
                return postava;


        }

        static Zbran nactiZbran(Scanner sc) {
                Zbran zbran = new Zbran(nazev, utok, obrana);

                return

        }

        static void vyzbrojPostavu(Postava postava, Zbran leva, Zbran prava) {
                postava.vezmiZbran(null, null);

        }

        static Protivnik Protivnik(Scanner sc) {

                Protivnik protivnik = new Protivnik(jmeno, utok, obrana);

                return protivnik;

        }

        static boolean souboj(Postava postava1, Postava postava2) {




                return Postava.jeZiva();


        }


        public static void main(String[] args) {
                Postava postava = new Postava(jmeno, sila, hbitost, vitalita);
                Zbran zbran = new Zbran(nazev, utok, obrana);



                System.out.println(Postava.jmeno);
                System.out.println(Postava.sila);
                System.out.println(Postava.hbitost);
                System.out.println(Postava.vitalita);
                System.out.println(Zbran.nazev);
                System.out.println(Zbran.utok);
                System.out.println(Zbran.obrana);



        }

}
 
Nahoru Odpovědět
15.12.2018 12:26
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Petr Štechmüller
Překladatel
Avatar
Odpovídá na KaBor
Petr Štechmüller:15.12.2018 14:52

Ahoj, jestli uživatel zadal prázdný řetězec můžeš otestovat v podmínce, ale lepší to bude v cyklu.
Mohlo by to vypadat asi nějak takto:

String nactiNeprazdnyRetezec(Scanner sc) {
    String input;
    while((input = sc.nextLine()).isEmpty()) {
        System.out.print("Zadejte validni vstup: ");
    }

    return input;
}

Mimochodem trošku jsi asi nepochopil zapouzdření, protože ten výpis parametrů na konci není úplně validní OOP přístup...

Nahoru Odpovědět
15.12.2018 14:52
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Avatar
KaBor
Člen
Avatar
Odpovídá na Petr Štechmüller
KaBor:15.12.2018 14:57

Děkuji za radu. Ten konec jsem už předělal :D Díky

 
Nahoru Odpovědět
15.12.2018 14:57
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 4 zpráv z 4.