package com.formula1.garagem;

import com.formula1.garagem.corrida.Carro;
import com.formula1.garagem.corrida.Piloto;

public class Equipe {
	// Private para proteger e ser acessado somente por esta classe
	private String nome;
	private String dataFundacao;
	private String pais;
	private Piloto listaPiloto	[] = new Piloto[2];
	private Carro  listaCarro 	[] = new Carro[2];
	private int	   carroDoPiloto[] = new int[2];
	
	// Public para ser acessador de qualquer lugar do projeto
	public Equipe cadastraEquipe(String nome, String dataFundacao, String pais){
		Equipe equipe = new Equipe();
		equipe.setNome(nome);
		equipe.setDataFundacao(dataFundacao);
		equipe.setPais(pais);
		return equipe;
	}
	
	// Cadastra piloto na equipe
	public Piloto cadastraPilotoEquipe(Piloto piloto, int indice){
		return this.listaPiloto[indice] = piloto;
	}
	
	// Cadastra carro na equipe
	public Carro cadastraCarroEquipe(Carro carro, int indice){
		return this.listaCarro[indice] = carro;
	}
	
	// Designa um Carro a um Piloto
	public void pilotoRecebeCarro(int idPiloto, int idCarro){
		this.carroDoPiloto[idPiloto] = idCarro;
	}
	
	// Troca carros entre os pilotos
	public void trocaCarro(int piloto1, int piloto2){
		int p1 = this.carroDoPiloto[piloto1];
		int p2 = this.carroDoPiloto[piloto2];
		// faz a troca
		int auxiliar = p1;
		p1 = p2;
		p2 = auxiliar;
	}
	
	// Adiciona vitoria ao piloto
	public void adicionaVitoria(int idPiloto){
		int titulos = this.listaPiloto[idPiloto].getNumeroTitulos();
		titulos++;
		this.listaPiloto[idPiloto].setNumeroTitulos(titulos);
	}
	
	// Imprime piloto com mais vitórias e seu carro
	public int imprimeMaisVitorioso(){
		// Podeira ser um Integer.MIN_VALUE, mas optei pela primeira variável
		int maior = listaPiloto[0].getNumeroTitulos();
		int idPiloto = 0;
		for(int i=0; i < listaPiloto.length ;i++){
			if(listaPiloto[i].getNumeroTitulos() > maior){
				maior = listaPiloto[i].getNumeroTitulos();
				idPiloto = i;
			}
		}
		
		// Exibe Piloto com maior número de vitórias
		System.out.println("O piloto com mais vitórias é: " + listaPiloto[idPiloto].getNome() + " com " + listaPiloto[idPiloto].getNumeroTitulos() + " vitórias");
		// Exibe Carro deste piloto
		System.out.println("--- Atributos do carro ---");
		System.out.println("Marca do motor: "		+ listaCarro[idPiloto].getMarcaMotor());
		System.out.println("Chassi: "				+ listaCarro[idPiloto].getChassi());
		System.out.println("Marca do pneu: "		+ listaCarro[idPiloto].getMarcaPneu());
		System.out.println("Marca do combustivel: "	+ listaCarro[idPiloto].getMarcaCombustivel());
		return idPiloto;
	}
	
	/* Get's e Set's */
	
	// Public para ser acessador de qualquer lugar do projeto
	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getDataFundacao() {
		return dataFundacao;
	}

	public void setDataFundacao(String dataFundacao) {
		this.dataFundacao = dataFundacao;
	}

	public String getPais() {
		return pais;
	}

	public void setPais(String pais) {
		this.pais = pais;
	}
 
}

@@ -1204,18 +1204,24 @@
 %7B%0A%09%09int 
-p1
+auxiliar
  = this.
@@ -1250,14 +1250,35 @@
 ;%0A%09%09
-int p2
+this.carroDoPiloto%5Bpiloto1%5D
  = t
@@ -1311,59 +1311,35 @@
 ;%0A%09%09
-// faz a troca%0A%09%09int auxiliar = p1;%0A%09%09p1 = p2;%0A%09%09p2
+this.carroDoPiloto%5Bpiloto2%5D
  = a
@@ -2294,32 +2294,46 @@
 %22%09%09+ listaCarro%5B
+carroDoPiloto%5B
 idPiloto%5D.getMar
@@ -2317,32 +2317,33 @@
 Piloto%5BidPiloto%5D
+%5D
 .getMarcaMotor()
@@ -2385,32 +2385,46 @@
 %09%09%09+ listaCarro%5B
+carroDoPiloto%5B
 idPiloto%5D.getCha
@@ -2412,24 +2412,25 @@
 to%5BidPiloto%5D
+%5D
 .getChassi()
@@ -2477,32 +2477,46 @@
 %22%09%09+ listaCarro%5B
+carroDoPiloto%5B
 idPiloto%5D.getMar
@@ -2500,32 +2500,33 @@
 Piloto%5BidPiloto%5D
+%5D
 .getMarcaPneu())
@@ -2586,16 +2586,30 @@
 taCarro%5B
+carroDoPiloto%5B
 idPiloto
@@ -2605,24 +2605,25 @@
 to%5BidPiloto%5D
+%5D
 .getMarcaCom

Update Equipe.java