Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* UTF-8 encoding: Příliš žluťoučký kůň úpěl ďábelské ódy. */
- /************************************************************
- * Instance třídy {@code Osoba} představují ...
- *
- * @author Jan Janáček
- * @version 26.00.0000 — 2019-10-07
- */
- public class Osoba {
- //== KONSTANTNÍ ATRIBUTY TŘÍDY ===========================
- // //== PROMĚNNÉ ATRIBUTY TŘÍDY =============================
- //== STATICKÝ INICIALIZAČNÍ BLOK =========================
- /**************
- * Určuje barvu hlavy
- */
- private static final Barva BARVA_HLAVY = Barva.RUZOVA;
- /**************
- * Implementuje barvu těla
- */
- private static final Barva IMPL_BARVA_TELA = Barva.SEDA;
- /**************
- * Implementuje velikost hlavy
- */
- private static final int IMPL_VELIKOST_HLAVY = 60;
- /**************
- * Poměr hlavu k tělu
- */
- private static final double POMER_HLAVA_TELO = 6.0/8.0;
- /**************
- * Poměr výšky k šířce
- */
- private static final double POMER_TELO_VYS_SIR = 8.0/7.0;
- /**************
- * Proměnná pro ukládání počtu osob
- */
- private static int pocet = 0;
- //== KONSTANTNÍ ATRIBUTY INSTANCÍ ========================
- /**************
- * Vytváří hlavu
- */
- private final Elipsa hlava;
- /**************
- * Vytváří telo
- */
- private final Obdelnik telo;
- //== PROMĚNNÉ ATRIBUTY INSTANCÍ ==========================
- /**************
- * Napočítává pořadí osob
- */
- private final int PORADI = ++pocet;
- /**************
- * Název osoby
- */
- private String nazev = "";
- //########################################################
- //== KONSTRUKTORY A TOVÁRNÍ METODY ======================
- /************************************************************
- * Třída osoba {@code Osoba} slouží ke vytvoření hlav a těl
- */
- public Osoba(int x, int y, int velikostHlavy, double pomerHlavaTelo, double pomerTelo,Barva barva){
- nazev = "LOL";
- double vyska = velikostHlavy/pomerHlavaTelo;
- double sirka = vyska/pomerTelo;
- double x_hlava = x;
- double x_telo = x;
- if(velikostHlavy<sirka){
- double pulTela = (sirka / 2);
- double pulHlavy = (velikostHlavy / 2);
- double posun = pulTela - pulHlavy;
- x_hlava = (int)posun + x;
- }
- else{
- x_telo = (velikostHlavy/4);
- }
- telo = new Obdelnik((int)x_telo,y+(int)velikostHlavy,(int)sirka,(int)vyska,barva);
- hlava = new Elipsa((int)x_hlava,y,(int)velikostHlavy,(int)velikostHlavy,BARVA_HLAVY);
- }
- /************************************************************
- * Další konstruktor, který odkazuje na ten předešlý
- */
- public Osoba(int x, int y, int velikostHlavy, Barva barvaTela){
- this(x,y,velikostHlavy,POMER_HLAVA_TELO,POMER_TELO_VYS_SIR,barvaTela);
- }
- /************************************************************
- * Další konstruktor, který odkazuje na ten předešlý
- */
- public Osoba(int x, int y, Barva barvaTela){
- this(x,y,IMPL_VELIKOST_HLAVY,barvaTela);
- }
- /************************************************************
- * Další konstruktor, který odkazuje na ten předešlý
- */
- public Osoba(){
- this(0,0,IMPL_VELIKOST_HLAVY,IMPL_BARVA_TELA);
- }
- //== PUBLIC METODY TŘÍDY =================================
- /************************************************************
- * Vrací hlavu
- */
- public Elipsa getHlava(){
- return hlava;
- }
- /************************************************************
- * Vrací tělo
- */
- public Obdelnik getTelo(){
- return telo;
- }
- /************************************************************
- * Porovnává šířku útvarů a podle toho vrací souřadnici X
- */
- public int getX(){
- if(hlava.getSirka() < telo.getSirka()){
- return telo.getX();
- }
- else{
- return hlava.getX();
- }
- }
- /************************************************************
- * Vrací souřadnici Y
- */
- public int getY(){
- return hlava.getY();
- }
- /************************************************************
- * Porovnává šířku útvarů a podle toho vrací největší šířku
- */
- public int getSirka(){
- if(hlava.getSirka() < telo.getSirka()){
- return telo.getSirka();
- }
- else{
- return hlava.getSirka();
- }
- }
- /************************************************************
- * Sčítá výšku hlavy a těla a vrací výšku celé osoby
- */
- public int getVyska(){
- return telo.getVyska() + hlava.getVyska();
- }
- /************************************************************
- * Vrací název Osoby
- */
- public String getNazev(){
- nazev = getClass().getSimpleName() + "_" + PORADI;
- return nazev;
- }
- /************************************************************
- * Vrací barvu těla osoby
- */
- public Barva getBarvaTela(){
- return telo.getBarva();
- }
- /************************************************************
- * Nastaví novou barvu těla Osoby
- */
- public void setBarvaTela(Barva barva){
- telo.setBarva(barva);
- }
- /************************************************************
- * Překrytí metody String
- */
- @Override
- public String toString() {
- return getNazev() + ": x=" + getX() + ", y=" + getY() +
- ", výška=" + getVyska() +
- ", šířka=" + getSirka() +
- ", barva těla=" + getBarvaTela();
- }
- //== PRIVATE METODY TŘÍDY ================================
- //== PŘÍSTUPOVÉ METODY VLASTNOSTÍ INSTANCÍ ===============
- //== PUBLIC METODY INSTANCÍ ==============================
- //== PRIVATE METODY INSTANCÍ =============================
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement