package model;

import processing.core.PApplet;

public class DesenhistaAmigoDestacado implements Desenhador, Movedor {

  AmigoDestacado amigoDestacado;
  VetorComposto vetoresMovimento;
  PApplet processing;

  public DesenhistaAmigoDestacado(PApplet processing,
      AmigoDestacado amigoDestacado) {

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

  }

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

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

    /*
     * 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);

    amigoDestacado.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
@@ -233,25 +233,22 @@
 to vetor
-esMovimen
+Compos
 to;%0A  PA
@@ -264,16 +264,30 @@
 cessing;
+%0A  PFont font;
 %0A%0A  publ
@@ -333,16 +333,28 @@
 cessing,
+ PFont font,
 %0A      A
@@ -420,16 +420,38 @@
 essing;%0A
+    this.font = font;%0A
     this
@@ -498,25 +498,22 @@
 is.vetor
-esMovimen
+Compos
 to = new
@@ -629,33 +629,30 @@
 nslate(vetor
-esMovimen
+Compos
 to.local.x, 
@@ -652,33 +652,30 @@
 cal.x, vetor
-esMovimen
+Compos
 to.local.y);
@@ -952,33 +952,30 @@
 llipse(vetor
-esMovimen
+Compos
 to.local.x, 
@@ -975,33 +975,30 @@
 cal.x, vetor
-esMovimen
+Compos
 to.local.y, 
@@ -1282,33 +1282,30 @@
 iangle(vetor
-esMovimen
+Compos
 to.local.x, 
@@ -1305,33 +1305,30 @@
 cal.x, vetor
-esMovimen
+Compos
 to.local.y -
@@ -1340,33 +1340,30 @@
        vetor
-esMovimen
+Compos
 to.local.x -
@@ -1367,33 +1367,30 @@
 x - 3, vetor
-esMovimen
+Compos
 to.local.y,%0A
@@ -1398,33 +1398,30 @@
        vetor
-esMovimen
+Compos
 to.local.x +
@@ -1425,33 +1425,30 @@
 x + 3, vetor
-esMovimen
+Compos
 to.local.y);
@@ -1724,33 +1724,30 @@
 llipse(vetor
-esMovimen
+Compos
 to.local.x, 
@@ -1747,33 +1747,30 @@
 cal.x, vetor
-esMovimen
+Compos
 to.local.y, 
@@ -1795,134 +1795,166 @@
     
-amigoDestacado.info.adicionaInformacao(vetoresMovimento.local.x,%0A   
+processing.popMatrix();%0A  %7D%0A%0A  @Override%0A  public void mova() %7B%0A    vetorComposto.local.add(vetorComposto.dir);%0A
     
- 
 vetor
-esMovimento.local.y);%0A%0A    processing.popMatrix(
+Composto.local.add(vetorComposto.acel
 );%0A 
@@ -1975,36 +1975,39 @@
 e%0A  public void 
-mova
+escreve
 () %7B%0A    vetores
@@ -2003,110 +2003,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 de amigos destacados