public void correr(int distancia) {
    super.correr(distancia);

    if (getDistanciaPercorrida() % 1000 == 0) {
      System.out.println("Velocidade skate anterior: " + getVelocidade());
      setVelocidade(getVelocidade() * 1.05f);
      System.out.println("Velocidade skate Atual: " + getVelocidade());
    }
  }
 @Override
 public final void setVeloMax(float veloMax) {
   super.setVeloMax(veloMax);
 }
 @Override
 public final void setMotor(Motor motor) {
   super.setMotor(motor);
 }
 @Override
 public final void setMarca(String marca) {
   super.setMarca(marca);
 }
 @Override
 public final void setModelo(String modelo) {
   super.setModelo(modelo);
 }
 @Override
 public final void setPlaca(String placa) {
   super.setPlaca(placa);
 }
  public static void main(String[] args) {
    Veiculo bicicleta = new BicicletaVoador();
    bicicleta.setNome("Bicicleta Voadora");
    bicicleta.setAutonomia(27);
    bicicleta.setTamanhoTanque(15);
    bicicleta.setVelocidade(40);
    bicicleta.setTempoAbastecimento(CorridaUtil.obterTempoEmHoras(20));
    bicicleta.setTanqueGasolina(bicicleta.getTamanhoTanque());

    Veiculo tratorNuclear = new TratorNuclear();
    tratorNuclear.setNome("Trator Plutonio");
    tratorNuclear.setAutonomia(12);
    tratorNuclear.setTamanhoTanque(100);
    tratorNuclear.setVelocidade(55);
    tratorNuclear.setTempoAbastecimento(CorridaUtil.obterTempoEmHoras(120));
    tratorNuclear.setTanqueGasolina(tratorNuclear.getTamanhoTanque());

    Veiculo skateAtomico = new SkateAtomico();
    skateAtomico.setNome("State Plutonio");
    skateAtomico.setAutonomia(45);
    skateAtomico.setTamanhoTanque(5);
    skateAtomico.setVelocidade(68);
    skateAtomico.setTempoAbastecimento(CorridaUtil.obterTempoEmHoras(60));
    skateAtomico.setTanqueGasolina(tratorNuclear.getTamanhoTanque());

    Veiculo motoViper = new MotoViper300();
    motoViper.setNome("Moto Viper 300");
    motoViper.setAutonomia(20);
    motoViper.setTamanhoTanque(10);
    motoViper.setVelocidade(35);
    motoViper.setTempoAbastecimento(CorridaUtil.obterTempoEmHoras(6));
    motoViper.setTanqueGasolina(tratorNuclear.getTamanhoTanque());

    Veiculo tanqueFeroz = new TanqueFeroz();
    tanqueFeroz.setNome("Tanque Feroz");
    tanqueFeroz.setAutonomia(18);
    tanqueFeroz.setTamanhoTanque(120);
    tanqueFeroz.setVelocidade(70);
    tanqueFeroz.setTempoAbastecimento(CorridaUtil.obterTempoEmHoras(90));
    tanqueFeroz.setTanqueGasolina(tratorNuclear.getTamanhoTanque());

    Veiculo fuscaHerb = new FuscaHerb();
    fuscaHerb.setNome("Fusca Herb");
    fuscaHerb.setAutonomia(4);
    fuscaHerb.setTamanhoTanque(20);
    fuscaHerb.setVelocidade(35);
    fuscaHerb.setTempoAbastecimento(CorridaUtil.obterTempoEmHoras(1));
    fuscaHerb.setTanqueGasolina(tratorNuclear.getTamanhoTanque());

    for (int i = 0; i < 75; i++) {

      for (int j = 0; j < 67; j++) {

        bicicleta.correr(1);
        tratorNuclear.correr(1);
        skateAtomico.correr(1);
        motoViper.correr(1);
        tanqueFeroz.correr(1);
        fuscaHerb.correr(1);
      }

      bicicleta.setVoltas(i);
      tratorNuclear.setVoltas(i);
      skateAtomico.setVoltas(i);
      motoViper.setVoltas(i);
      tanqueFeroz.setVoltas(i);
      fuscaHerb.setVoltas(i);
    }

    System.out.println(
        "Bicleta percorreu "
            + bicicleta.getDistanciaPercorrida()
            + " km em "
            + bicicleta.getTempoPercorridoHoras()
            + " horas");
    System.out.println("Bicleta tanque: " + bicicleta.getTanqueGasolina());

    System.out.println(
        "Trator percorreu "
            + tratorNuclear.getDistanciaPercorrida()
            + " km em "
            + tratorNuclear.getTempoPercorridoHoras()
            + " horas");
    System.out.println("Trator tanque: " + tratorNuclear.getTanqueGasolina());

    System.out.println("Acabou a corrida!");

    System.out.println(
        "Skate  percorreu "
            + skateAtomico.getDistanciaPercorrida()
            + " km em "
            + skateAtomico.getTempoPercorridoHoras()
            + " horas");
    System.out.println("Skate Tanque : " + skateAtomico.getTanqueGasolina());

    System.out.println("Acabou a corrida!");

    System.out.println(
        "Moto percorreu "
            + motoViper.getDistanciaPercorrida()
            + " km em "
            + motoViper.getTempoPercorridoHoras()
            + " horas");
    System.out.println("Moto Tanque : " + motoViper.getTanqueGasolina());

    System.out.println("Acabou a corrida!");

    System.out.println(
        "Tanque percorreu "
            + tanqueFeroz.getDistanciaPercorrida()
            + " km em "
            + tanqueFeroz.getTempoPercorridoHoras()
            + " horas");
    System.out.println("Tanque Tanque : " + tanqueFeroz.getTanqueGasolina());

    System.out.println("Acabou a corrida!");

    System.out.println(
        "Fusca percorreu "
            + fuscaHerb.getDistanciaPercorrida()
            + " km em "
            + fuscaHerb.getTempoPercorridoHoras()
            + " horas");
    System.out.println("Fusca Tanque : " + fuscaHerb.getTanqueGasolina());

    System.out.println("Acabou a corrida!");
  }
Exemple #8
0
    public void manter(Veiculo v) {
	v.checkList();
	v.adjust();
	v.cleanup();
    }
 public String execCorrida() {
   this.participante.preparaCorrida(this.circuito.getnVoltas());
   StringBuilder rank = new StringBuilder();
   if (this.isChuva) {
     rank.append("Tempo : Sol" + "\n");
   } else {
     rank.append("Tempo : Chuva" + "\n");
   }
   Collection c = this.participante.getFrota().values();
   this.setVoltaActual(this.circuito.getnVoltas());
   TreeMap<Integer, Veiculo> p;
   p = new TreeMap<Integer, Veiculo>();
   while (this.getVoltaActual() > 0) {
     Iterator<Veiculo> itr = c.iterator();
     rank.append("Volta:" + this.getVoltaActual() + "\n");
     int i2 = 0;
     while (itr.hasNext()) {
       Veiculo v = itr.next();
       if (v.gettTotal() != Integer.MAX_VALUE) {
         Integer i1 = v.tempoProximaVolta(this);
         if (i1 < this.circuito.getRecord().getTime()) {
           Piloto p1;
           Record r;
           if (v.getPAtual()) {
             p1 = v.getPiloto1();
           } else {
             p1 = v.getPiloto2();
           }
           r = new Record(i1, p1.getNome(), v.getEquipa(), v.getMarca());
         }
         if (i1 != Integer.MAX_VALUE) {
           v.settTotal(v.gettTotal() + i1);
           p.put(i1, v);
           while (i2 == 0) {
             rank.append(v.getEquipa() + ":" + i1.toString() + "\n");
             i2++;
           }
         } else {
           v.settTotal(Integer.MAX_VALUE);
           rank.append("DNF " + v.getEquipa() + "\n");
           p.put(Integer.MAX_VALUE, v);
         }
       }
     }
     this.setVoltaActual(this.getVoltaActual() - 1);
   }
   Collection n = p.values();
   Iterator<Veiculo> it = n.iterator();
   TreeMap<Integer, Veiculo> ranking;
   ranking = new TreeMap<Integer, Veiculo>();
   while (it.hasNext()) {
     Veiculo vi = it.next();
     ranking.put(vi.gettTotal(), vi.clone());
   }
   Collection o = ranking.values();
   Iterator<Veiculo> itr1 = o.iterator();
   int i3 = 0;
   rank.append("Ranking" + "\n");
   while (itr1.hasNext()) {
     Veiculo v1 = itr1.next();
     Piloto ps;
     Record r;
     if (v1.gettTotal() != Integer.MAX_VALUE) {
       if (v1.getPAtual()) {
         ps = v1.getPiloto1();
       } else {
         ps = v1.getPiloto2();
       }
       r = new Record(v1.gettTotal(), ps.getNome(), v1.getMarca(), ps.getEquipa());
       switch (i3) {
         case 0:
           this.setPrimeiro(r);
         case 1:
           this.setSegundo(r);
         case 2:
           this.setTerceiro(r);
       }
       i3++;
     }
     if (v1.gettTotal() != Integer.MAX_VALUE) {
       rank.append(v1.getEquipa() + ":" + v1.gettTotal() + "\n");
       v1.setPontos(v1.getPontos() + ranking.size() - (i3 - 1));
     } else {
       rank.append("DNF" + ":" + v1.getEquipa() + "\n");
     }
   }
   return rank.toString();
 }
  public static void main(String[] args) throws IOException {
    EntityManager manager = JpaUtil.getEntityManager();
    EntityTransaction tx = manager.getTransaction();
    tx.begin();

    // instancia acessórios
    Acessorio alarme = new Acessorio();
    alarme.setDescricao("Alarme");
    Acessorio arCondicionado = new Acessorio();
    arCondicionado.setDescricao("Ar condicionado");
    Acessorio bancosDeCouro = new Acessorio();
    bancosDeCouro.setDescricao("Bancos de couro");
    Acessorio direcaoHidraulica = new Acessorio();
    direcaoHidraulica.setDescricao("Direção hidráulica");

    // persiste acessórios
    manager.persist(alarme);
    manager.persist(arCondicionado);
    manager.persist(bancosDeCouro);
    manager.persist(direcaoHidraulica);

    StringBuilder especificacoes = new StringBuilder();
    especificacoes.append("Carro em excelente estado.\n");
    especificacoes.append("Completo, menos ar.\n");
    especificacoes.append("Primeiro dono, com manual de instrução ");
    especificacoes.append("e todas as revisões feitas.\n");
    especificacoes.append("IPVA pago, aceita financiamento.");

    // Ler foto do arquivo
    Path path = FileSystems.getDefault().getPath("D:/projetos/img/hb20.jpg");
    byte[] foto = Files.readAllBytes(path);

    Proprietario proprietario = new Proprietario();
    proprietario.setNome("Anderson Lopes");
    proprietario.setTelefoone("(85) 99958-5404");
    proprietario.setEmail("*****@*****.**");

    manager.persist(proprietario);

    Veiculo veiculo = new Veiculo();
    veiculo.setFabricante("HYUNDAY");
    veiculo.setModelo("HB20");
    veiculo.setAnoFabricacao(2015);
    veiculo.setAnoModelo(2016);
    veiculo.setValor(new BigDecimal(121_700));
    veiculo.setTipoCombustivel(TipoCombustivel.GASOLINA);
    veiculo.setDataCadastro(new Date());
    veiculo.setEspecificacoes(especificacoes.toString());
    veiculo.setFoto(foto);
    veiculo.setProprietario(proprietario);
    veiculo.getAcessorio().add(direcaoHidraulica);
    veiculo.getAcessorio().add(alarme);

    manager.persist(veiculo);

    // Ler foto do arquivo
    path = FileSystems.getDefault().getPath("D:/projetos/img/ix35.jpg");
    foto = Files.readAllBytes(path);

    Veiculo veiculo1 = new Veiculo();
    veiculo1.setFabricante("HYUNDAY");
    veiculo1.setModelo("ix35");
    veiculo1.setAnoFabricacao(2006);
    veiculo1.setAnoModelo(2006);
    veiculo1.setValor(new BigDecimal(111_000));
    veiculo1.setTipoCombustivel(TipoCombustivel.GASOLINA);
    veiculo1.setDataCadastro(new Date());
    veiculo1.setFoto(foto);
    veiculo1.setProprietario(proprietario);
    veiculo1.getAcessorio().add(arCondicionado);
    veiculo1.getAcessorio().add(bancosDeCouro);

    manager.persist(veiculo1);

    Veiculo veiculo2 = new Veiculo();

    // Ler foto do arquivo
    path = FileSystems.getDefault().getPath("D:/projetos/img/sf.jpg");
    foto = Files.readAllBytes(path);

    veiculo2.setFabricante("HYUNDAY");
    veiculo2.setModelo("Santa Fé");
    veiculo2.setAnoFabricacao(2015);
    veiculo2.setAnoModelo(2016);
    veiculo2.setValor(new BigDecimal(127_200));
    veiculo2.setTipoCombustivel(TipoCombustivel.BICOMBUSTIVEL);
    veiculo2.setDataCadastro(new Date());
    veiculo2.setFoto(foto);
    veiculo2.setProprietario(proprietario);
    veiculo2.getAcessorio().add(direcaoHidraulica);
    veiculo2.getAcessorio().add(bancosDeCouro);
    veiculo2.getAcessorio().add(alarme);
    veiculo2.getAcessorio().add(arCondicionado);

    manager.persist(veiculo2);

    tx.commit();
    JpaUtil.close();
  }