package br.com.jogo.engine.elements;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import android.graphics.Canvas;
import br.com.jogo.graphic.Tela;
public class Canos {
private static final int QUANTIDADE_DE_CANOS = 5;
private static final int DISTANCIA_ENTRE_CANOS = 200;
private final List canos = new ArrayList();
private Tela tela;
private Pontuacao pontuacao;
public Canos(Tela tela, Pontuacao pontuacao){
int posicaoInicial = 200;
this.pontuacao = pontuacao;
this.tela = tela;
for(int i=0; i < QUANTIDADE_DE_CANOS; i++) {
posicaoInicial += DISTANCIA_ENTRE_CANOS;
canos.add(new Cano(tela, posicaoInicial));
}
}
public void desenhaNo(Canvas canvas) {
for(Cano cano: canos){
cano.desenhaNo(canvas);
}
}
public void move() {
ListIterator iterator = canos.listIterator();
while (iterator.hasNext()) {
Cano cano = iterator.next();
cano.move();
if(cano.saiuDaTela()) {
pontuacao.aumenta();
//desenha outro cano
iterator.remove();
Cano outroCano = new Cano(tela, getMaximo() + DISTANCIA_ENTRE_CANOS);
iterator.add(outroCano);
}
}
}
private int getMaximo() {
int maximo = 0;
for (Cano cano : canos) {
maximo = Math.max(cano.getPosicao(), maximo);
}
return maximo;
}
}