package model;

import processing.core.PApplet;

public class DesenhistaAmigoHomem implements Desenhador, Movedor {

  VetorComposto vetoresMovimento;
  AmigoHomem amigoHomem;
  PApplet processing;

  public DesenhistaAmigoHomem(PApplet processing, AmigoHomem amigoHomem) {

    this.amigoHomem = amigoHomem;
    this.processing = processing;
    this.vetoresMovimento = new VetorComposto();

  }

  @Override
  public void display() {
    processing.pushMatrix();
    processing.translate(vetoresMovimento.local.x, vetoresMovimento.local.y);

    /*
     * Desenho: Triangulo
     *
     * Preenchimento: Branco
     *
     * Contorno: Branco
     *
     * Peso do Contorno: 1 pixel wide
     */
    processing.fill(255);
    processing.stroke(255);
    processing.strokeWeight(1);
    processing.triangle(vetoresMovimento.local.x, vetoresMovimento.local.y - 3,
        vetoresMovimento.local.x - 3, vetoresMovimento.local.y,
        vetoresMovimento.local.x + 3, vetoresMovimento.local.y);

    /*
     * Desenho: Circulo
     *
     * Preenchimento: Vazio
     *
     * Contorno: Azul Escuro
     *
     * Peso do Contorno: 2 pixel wide
     */
    processing.noFill();
    processing.strokeWeight(2);
    processing.stroke(88, 32, 244);
    processing.ellipse(vetoresMovimento.local.x, vetoresMovimento.local.y, 20,
        20);

    amigoHomem.info.adicionaInformacao(vetoresMovimento.local.x,
        vetoresMovimento.local.y);

    processing.popMatrix();
  }

  @Override
  public void mova() {
    vetoresMovimento.local.add(vetoresMovimento.dir);
    vetoresMovimento.local.add(vetoresMovimento.acel);
  }

}

@@ -40,16 +40,81 @@
 PApplet;
+%0Aimport processing.core.PConstants;%0Aimport processing.core.PFont;
 %0A%0Apublic
@@ -196,25 +196,22 @@
 to vetor
-esMovimen
+Compos
 to;%0A  Am
@@ -252,16 +252,30 @@
 cessing;
+%0A  PFont font;
 %0A%0A  publ
@@ -317,16 +317,34 @@
 cessing,
+ PFont font,%0A     
  AmigoHo
@@ -362,16 +362,38 @@
 mem) %7B%0A%0A
+    this.font = font;%0A
     this
@@ -466,25 +466,22 @@
 is.vetor
-esMovimen
+Compos
 to = new
@@ -597,33 +597,30 @@
 nslate(vetor
-esMovimen
+Compos
 to.local.x, 
@@ -620,33 +620,30 @@
 cal.x, vetor
-esMovimen
+Compos
 to.local.y);
@@ -675,32 +675,33 @@
 Triangulo%0A     *
+ 
 %0A     * Preenchi
@@ -712,32 +712,33 @@
 o: Branco%0A     *
+ 
 %0A     * Contorno
@@ -744,32 +744,33 @@
 o: Branco%0A     *
+ 
 %0A     * Peso do 
@@ -911,33 +911,30 @@
 iangle(vetor
-esMovimen
+Compos
 to.local.x, 
@@ -934,33 +934,30 @@
 cal.x, vetor
-esMovimen
+Compos
 to.local.y -
@@ -955,17 +955,17 @@
 local.y 
--
++
  3,%0A    
@@ -969,33 +969,30 @@
        vetor
-esMovimen
+Compos
 to.local.x -
@@ -996,33 +996,30 @@
 x - 3, vetor
-esMovimen
+Compos
 to.local.y,%0A
@@ -1027,33 +1027,30 @@
        vetor
-esMovimen
+Compos
 to.local.x +
@@ -1054,33 +1054,30 @@
 x + 3, vetor
-esMovimen
+Compos
 to.local.y);
@@ -1107,32 +1107,33 @@
 : Circulo%0A     *
+ 
 %0A     * Preenchi
@@ -1143,32 +1143,33 @@
 to: Vazio%0A     *
+ 
 %0A     * Contorno
@@ -1188,16 +1188,17 @@
 o%0A     *
+ 
 %0A     * 
@@ -1353,33 +1353,30 @@
 llipse(vetor
-esMovimen
+Compos
 to.local.x, 
@@ -1376,33 +1376,30 @@
 cal.x, vetor
-esMovimen
+Compos
 to.local.y, 
@@ -1401,24 +1401,16 @@
 l.y, 20,
-%0A       
  20);%0A%0A 
@@ -1416,130 +1416,166 @@
     
-amigoHomem.info.adicionaInformacao(vetoresMovimento.local.x,%0A        vetoresMovimento.local.y);%0A%0A    processing.popMatrix(
+processing.popMatrix();%0A  %7D%0A%0A  @Override%0A  public void mova() %7B%0A    vetorComposto.local.add(vetorComposto.dir);%0A    vetorComposto.local.add(vetorComposto.acel
 );%0A 
@@ -1596,36 +1596,39 @@
 e%0A  public void 
-mova
+escreve
 () %7B%0A    vetores
@@ -1624,110 +1624,202 @@
     
-vetoresMovimento.local.add(vetoresMovimento.dir);%0A    vetoresMovimento.local.add(vetoresMovimento.acel
+processing.fill(255, 60);%0A    processing.textAlign(PConstants.LEFT);%0A    processing.textFont(font);%0A    processing.text(toString(), vetorComposto.local.x + 12,%0A        vetorComposto.local.y + 12
 );%0A 

Implementa metodo escreve para desenhadores tipo homem