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!"); }
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(); }