Vloženo:

Ú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 ty z lekce02 ze složky podklady.

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://margot.tomcat.cloud/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 zastavíte IntelliJ IDEA a smažete podsložku target v projektu. Nesmíte mít IntelliJ IDEA zapnutou, protože projekt má nastaven automatický překlad a hned by se tam zase vytvořila. 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.

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 dva dny před další lekcí, nejpozději 23:59. Tedy pokud je další lekce ve čtvrtek, termín je úterý 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.