Advertisement
Guest User

Untitled

a guest
Nov 18th, 2019
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.63 KB | None | 0 0
  1. public class Superman extends Osoba
  2. {
  3. //\CC== CONSTANT CLASS (STATIC) ATTRIBUTES (FIELDS) ============================
  4. /** Poměr velikosti znaku k tělu */
  5.   private static final double POMER_ZNAK_TELO = 3.0/5.0;
  6.  
  7. //\CV== VARIABLE CLASS (STATIC) ATTRIBUTES (FIELDS) ============================
  8.  
  9.  
  10.  
  11. //##############################################################################
  12. //\CI== STATIC INITIALIZER (CLASS CONSTRUCTOR) =================================
  13. //\CG== CLASS (STATIC) GETTERS AND SETTERS =====================================
  14. //\CM== OTHER NON-PRIVATE CLASS (STATIC) METHODS ===============================
  15. //\CP== PRIVATE AND AUXILIARY CLASS (STATIC) METHODS ===========================
  16.   /** Kresli prsni znak Supermenovi
  17.    *
  18.    * @param kreslitko  kreslitko urceni, kam se bude kreslit
  19.    *
  20.    */
  21.   @Override
  22.   public void nakresli(Kreslitko kreslitko) {
  23.     SP.nekresli(); {
  24.     super.nakresli(kreslitko);
  25.     znak.nakresli(kreslitko);
  26.   }
  27.   SP.vratKresli();
  28.   }
  29. /** Nastavení pozice */
  30.     @Override
  31.     public void setPozice(int x, int y){
  32.      super.setPozice(x,y);
  33.      znak.setPozice(telo.getX() + this.posunZnaku, telo.getY() + this.posunZnaku);
  34.     }
  35.  
  36.  
  37. //##############################################################################
  38. //\IC== CONSTANT INSTANCE ATTRIBUTES (FIELDS) ==================================
  39.   /** Znak na hrudi Osoby */
  40.   private final Trojuhelnik znak;
  41.   /** Posun znaku **/
  42.   private final int posunZnaku;
  43. //\IV== VARIABLE INSTANCE ATTRIBUTES (FIELDS) ==================================
  44.  
  45.  
  46.  
  47. //##############################################################################
  48. //\II== CONSTRUCTORS AND FACTORY METHODS =======================================
  49.  
  50.     /************************************
  51.    * vytvoří instanci libovolného rozměru na zadané pozici
  52.    * tělo je vždy modré, standartních rozměrů Osoby
  53.    * znak je vždy červený orientovaný vrcholem dolů
  54.    * znak je v poměru k tělu a je odsazen o {@code posunZnaku}
  55.    * vůči X i Y souřadnici těla
  56.    *
  57.    * @param pozice    pozice, na kterou se superman vykreslí
  58.    * @param velikostHlavy  velikost hlavy, podle které se vytvoří poměrově osoba
  59.    */
  60.   public Superman(Pozice pozice, int velikostHlavy) {
  61.     super(pozice, velikostHlavy, Barva.MODRA);
  62.     int sirkaZnaku = (int) (telo.getSirka() * POMER_ZNAK_TELO);
  63.     this.posunZnaku = (telo.getSirka() - sirkaZnaku) / 2;
  64.     Pozice pZnak = new Pozice(telo.getX() + posunZnaku,
  65.                                                 telo.getY()  + posunZnaku);
  66.     Rozmer pRozmer = new Rozmer(sirkaZnaku, sirkaZnaku);
  67.     this.znak = new Trojuhelnik(pZnak,pRozmer, Barva.CERVENA, Smer8.JIH);
  68.   }
  69.  
  70.   /***********************************************
  71.    * vytvoří instanci standartního rozměru na zadané pozici
  72.    */
  73.   public Superman(Pozice pozice) {
  74.     this(pozice, IMPL_VELIKOST_HLAVY);
  75.   }
  76.   /*********************************
  77.    * Konstruktor vytvori Supermena v levem hornim uhlu
  78.    */
  79.   public Superman() {
  80.     this(new Pozice(0,0));
  81.   }
  82.  
  83. //\IA== ABSTRACT METHODS =======================================================
  84. //\IG== INSTANCE GETTERS AND SETTERS ===========================================
  85. //\IM== OTHER NON-PRIVATE INSTANCE METHODS =====================================
  86. /** Metoda, která vrací znak */
  87.   public Trojuhelnik getZnak() {
  88.     return znak;
  89.   }
  90. //\IP== PRIVATE AND AUXILIARY INSTANCE METHODS =================================
  91.  
  92.  
  93.  
  94. //##############################################################################
  95. //\NT== NESTED DATA TYPES ======================================================
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement