Vloženo:

Lekce 03 - Úkol 03 - Pexeso

Stůl s kartičkami

Vytvořte jednoduchou webovou aplikaci, která bude zobrazovat kartičky pexesa v náhodném pořadí.

Kartičky pexesa si můžete vytvořit vlastní nebo použít podklady z následujícího archivu: Java-Training–Projects–Java-2–Lekce03-Ukol.zip

Pokud se vám nechce vytvářet vlastní kaskádové styly, můžete si vzít ty z dema.

Jak bude web vypadat, nechám na vás. Ukázkový web můžete vidět na http://st20.czechitas.tkadlecek.net/ukol03/.

Pexeso screenshot

Seznam přeborníků pexesa

Dále připravte stránku, na které bude tabulka nejlepších hráčů pexesa.

Pro tyto účely si připravte novou třídu Hrac (ve stejné složce jako HlavniController).

Třída bude sdružovat pro daného hráče údaje jmeno, prijmeni, email, pocetVyhranychTurnaju, pocetTurnajuCelkem.

Třída bude mít vnitřní proměnné, konstruktor a metody get a set pro zpřístupnění vnitřních proměnných (ty totiž definují tzv. vlastnosti).

Pokud víte, jak to napsat, napište ji sami. Pokud ne, můžete vyjít z mojí verze:

public class Hrac {

    private String jmeno;
    private int pocetVyhranychTurnaju;
    private int pocetTurnajuCelkem;

    public Hrac() {
    }

    public Hrac(String jmeno, int pocetVyhranychTurnaju, int pocetTurnajuCelkem) {
        this.jmeno = jmeno;
        this.pocetVyhranychTurnaju = pocetVyhranychTurnaju;
        this.pocetTurnajuCelkem = pocetTurnajuCelkem;
    }

    public String getJmeno() {
        return jmeno;
    }

    public void setJmeno(String newValue) {
        jmeno = newValue;
    }

    public int getPocetVyhranychTurnaju() {
        return pocetVyhranychTurnaju;
    }

    public void setPocetVyhranychTurnaju(int newValue) {
        pocetVyhranychTurnaju = newValue;
    }

    public int getPocetTurnajuCelkem() {
        return pocetTurnajuCelkem;
    }

    public void setPocetTurnajuCelkem(int newValue) {
        pocetTurnajuCelkem = newValue;
    }

    public double getUspesnost() {
        return 100.0 * pocetVyhranychTurnaju / pocetTurnajuCelkem;
    }
}

Jak si můžete všimnout, některé vlastnosti chybějí (např. prijmeni, email). Dopište je do třídy. Pokud chcete, můžete přidat i nějaké další.

Když jste ve třídě Hrac nadefinovali metodu String getJmeno(), a máte v ThymeLeafu v proměnné ${prebornik} jednoho hráče (objekt třídy Hrac), lze k jeho jménu v Thymeleafu přistupovat pomocí ${prebornik.jmeno}.

Pár tipů

Odevzdání domácího úkolu

Nejprve appku/appky zbavte přeložených spustitelných souborů. Zařídíte to tak, že v IntelliJ IDEA vpravo zvolíte Maven Projects -> Lifecycle -> Clean. Úspěch se projeví tak, že v projektové složce zmizí podsložka target. Následně složku s projektem zabalte pomocí 7-Zipu pod jménem Ukol-CISLO-Vase_Jmeno.7z. (Případně lze použít prostý zip, například na Macu). Takto vytvořený archív nahrajte na Google Drive do Odevzdávárny.

Vytvořte snímek obrazovky spuštěného programu (webové stránky) a vložte jej do galerie Ukol CISLO ve skupině našeho kurzu na Facebooku.

Pokud byste chtěli odevzdat revizi úkolu (např. po opravě), zabalte ji a nahrajte ji na stejný Google Drive znovu, jen tentokrát se jménem Ukol-CISLO-Vase_Jmeno-verze2.7z.

Termín odevzdání je v neděli před další lekcí, nejpozději 23:59. Pokud úkol nebo revizi odevzdáte později, prosím pošlete svému opravujícímu kouči/lektorovi email nebo zprávu přes FB.