示例#1
0
  /**
   * ********************************************************************** najde cestu mezi
   * planetami
   *
   * @param od první planeta
   * @param kam druhá planeta
   * @return instance třídy {@code Cesta}
   */
  private Cesta najdiCestu(Planeta od, Planeta kam) {
    for (int i = 0; i < g.getCesty().size(); i++) {

      if ((g.getCesty().get(i).getOd().getId() == od.getId()
              && g.getCesty().get(i).getKam().getId() == kam.getId())
          || (g.getCesty().get(i).getOd().getId() == kam.getId()
              && g.getCesty().get(i).getKam().getId() == od.getId())) {
        return g.getCesty().get(i);
      }
    }
    return null;
  }
示例#2
0
  /**
   * **************************************************************** vrátí seznam objednávek
   *
   * @return seznam objednávek
   */
  private List<Objednavka> getObjednavky() {
    ArrayList<Objednavka> objednavky = new ArrayList<Objednavka>();

    for (int i = 0; i < g.getPlanety().size() - 5; i++) {
      Planeta a = g.getPlanety().get(i);
      if (!a.isMrtva()) {
        int objednavka = a.getPop() - a.vyrobLeky();
        Stanice sc = (Stanice) a.getCesta().get(a.getCesta().size() - 1);
        Objednavka ob = new Objednavka(a, sc, objednavka, a.getVzdalenost());
        objednavky.add(ob);
        Soubor.getLogger()
            .log(
                Level.INFO,
                "Planeta " + a.getJmeno() + " poslala objednávku na " + objednavka + " léků.");
        a.setObjednavka(ob);
      }
    }
    statistikaObjednavek.add(objednavky);
    return objednavky;
  }
示例#3
0
  /**
   * ********************************************************************* vyloží náklad lodi na
   * planetě
   *
   * @param l vykládající loď
   */
  private void vylozLod(Lod l) {
    if (l.getStav() == 3) {

      Planeta a = l.getCil().pop();
      int naklad = l.getRozpis().pop();
      Soubor.getLogger()
          .log(
              Level.FINE,
              "Lod č."
                  + l.getId()
                  + " vyložila na "
                  + a.toString()
                  + " náklad "
                  + naklad
                  + " léků.");
      a.getDoruceno().add(new Doruceni(naklad, l, den));
      l.setNaklad(l.getNaklad() - naklad);
      a.getObjednavka().setKolik(a.getObjednavka().getKolik() - naklad);
      a.getObjednavka().setPotencial(a.getObjednavka().getPotencial() - naklad);
      l.setStav(0);
    }
  }
示例#4
0
  public static void main(String[] args) {
    System.out.println("Driver Planeta");
    Scanner scan = new Scanner(System.in);
    boolean out = false;

    menu();

    while (!out) {
      try {
        String op = scan.nextLine();
        switch (op) {
          case "01":
            p = new Planeta();
            break;

          case "02":
            String name, coordX, coordY, classM;
            name = scan.nextLine();
            coordX = scan.nextLine();
            coordY = scan.nextLine();
            classM = scan.nextLine(); // Yes - No
            int cx = Integer.parseInt(coordX);
            int cy = Integer.parseInt(coordY);
            c = new Coordenades(cx, cy);
            if (classM.equals("Yes")) p = new Planeta(name, c, true);
            else {
              p = new Planeta(name, c, false);
            }
            break;

          case "03":
            System.out.println(p.obtenirId());
            break;

          case "04":
            System.out.println(p.obtenirNom());
            break;

          case "05":
            c = p.obtenirCoordenades();
            System.out.println(c.obtenirCoordenadesX());
            System.out.println(c.obtenirCoordenadesY());
            break;

          case "06":
            if (p.obtenirClasse() == true) {
              System.out.println("És de classe M");
            } else {
              System.out.println("No és de classe M");
            }
            break;

          case "07":
            String nom = scan.nextLine();
            p.modificacioNom(nom);
            break;

          case "08":
            String x = scan.nextLine();
            int Eix_x = Integer.parseInt(x);
            String y = scan.nextLine();
            int Eix_y = Integer.parseInt(y);
            p.modificacioCoordenades(Eix_x, Eix_y);
            break;

          case "09":
            String resposta = scan.nextLine(); // Yes - No
            if (resposta.equals("Yes")) p.modificacioClasse(true);
            else {
              p.modificacioClasse(false);
            }
            break;

          case "00":
            out = true;
            break;

          default:
            System.out.println("Opció incorrecte.");
            break;
        }
      } catch (Exception e) {
        System.out.println(e.getMessage());
      }
    }
    scan.close();
  }
示例#5
0
 public static void adiciona_planeta(List<Planeta> planetas) {
   Scanner scan = new Scanner(System.in);
   Planeta pl = new Planeta();
   String entradas = null;
   System.out.print("Digite o nome do planeta:");
   pl.setNome(entradas = scan.nextLine());
   while (pl.getIdade() < 0) {
     System.out.print("\nDigite a idade do planeta:");
     pl.setIdade(converteDouble(entradas = scan.nextLine()));
   }
   System.out.print("\nDigite o tipo do planeta:");
   pl.setTipo(entradas = scan.nextLine());
   while (pl.getGravidade() < 0) {
     System.out.print("\nDigite a gravidade do planeta:");
     pl.setGravidade(converteDouble(entradas = scan.nextLine()));
   }
   while (pl.getMassa() < 0) {
     System.out.print("\nDigite a massa do planeta:");
     pl.setMassa(converteDouble(entradas = scan.nextLine()));
   }
   while (pl.getVolume() < 0) {
     System.out.print("\nDigite a volume do planeta:");
     pl.setVolume(converteDouble(entradas = scan.nextLine()));
   }
   while (pl.getTemperatura_media() < 0) {
     System.out.print("\nDigite a temperatura media do planeta:");
     pl.setTemperatura_media(converteDouble(entradas = scan.nextLine()));
   }
   while (pl.getDistancia_do_sol() < 0) {
     System.out.print("\nDigite a distancia da sua estrela:");
     pl.setDistancia_do_sol(converteDouble(entradas = scan.nextLine()));
   }
   System.out.print("\nDigite o galaxia pertencente do planeta:");
   pl.setGalaxia_pertencente(entradas = scan.nextLine());
   System.out.print("\nHá vida neste planeta ? (sim/nao)");
   entradas = scan.nextLine();
   pl.setVida(entradas.toLowerCase());
   System.out.print("\nDigite composição do planeta:");
   pl.setComposicao(entradas = scan.nextLine());
   pl.setDescricao(entradas = scan.nextLine());
   planetas.add(pl);
   System.out.println("Planeta adicionado com sucesso!");
 }
示例#6
0
 public static void INIT(
     List<Planeta> planetas,
     List<Estrela> estrelas,
     List<Galaxia> galaxias) // Cria objetos para mostrar como o programa funciona
     {
   Planeta pl = new Planeta();
   pl.setNome("Terra");
   pl.setIdade(4.5);
   pl.setTipo("alguma coisa");
   pl.setGravidade(1.0);
   pl.setMassa(1.0);
   pl.setVolume(1.0);
   pl.setTemperatura_media(25);
   pl.setGalaxia_pertencente("Via Lactea");
   pl.setVida("sim");
   pl.setComposicao("Agua e terra");
   pl.setDescricao("Planeta com vida");
   planetas.add(pl);
   // add
   pl = new Planeta();
   pl.setNome("Marte");
   pl.setIdade(5.5);
   pl.setTipo("algumas coisas");
   pl.setGravidade(0.5);
   pl.setMassa(0.8);
   pl.setVolume(0.9);
   pl.setTemperatura_media(20);
   pl.setGalaxia_pertencente("Via Lactea");
   pl.setVida("nao");
   pl.setComposicao("Terra");
   pl.setDescricao("Planeta vermelho");
   planetas.add(pl);
   // add
   Estrela es = new Estrela();
   es.setNome("Sol");
   es.setIdade(20.5);
   es.setTipo("Dwarf");
   es.setGravidade(22.6);
   es.setMassa(300);
   es.setVolume(1000);
   es.setTemperatura_media(50000);
   es.setGalaxia_pertencente("Via Lactea");
   es.setClassificaco_espectral("Algo");
   es.setMagnitude_absoluta("Algo 2");
   es.setDescricao("Nosso sol");
   estrelas.add(es);
   // add
   es = new Estrela();
   es.setNome("Teste");
   es.setIdade(230.5);
   es.setTipo("Dwarf");
   es.setGravidade(224.6);
   es.setMassa(3050);
   es.setVolume(103200);
   es.setTemperatura_media(330000);
   es.setGalaxia_pertencente("Via 2");
   es.setClassificaco_espectral("zzz");
   es.setMagnitude_absoluta("zzz2");
   es.setDescricao(
       "zzzzzzzzxxxxxxxxx zzzzzzzzxxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxx"
           + " zzzzzzxxxxxxxxxxxzzz zzzzzxxxxxxxxx \n zzzzzxxxxxxxx zzzzxxxxxx xxx");
   estrelas.add(es);
   // add
   Galaxia ga = new Galaxia();
   ga.setNome("Via Lactea");
   ga.setIdade(55);
   ga.setTipo("Eliptica");
   ga.setIdade_estrela_mais_velha(8787878);
   ga.setNumero_estrelas(300_000_000);
   ga.setDescricao(
       "xxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxx"
           + " xxxxxxxxxxx xxxxxxxxx \n xxxxxxxx xxxxxx xxx");
   galaxias.add(ga);
   // add
   ga = new Galaxia();
   ga.setNome("Via 2");
   ga.setIdade(775);
   ga.setTipo("Charuto");
   ga.setIdade_estrela_mais_velha(34343);
   ga.setNumero_estrelas(900_000_000);
   ga.setDescricao(
       "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ\n"
           + "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ\n"
           + "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
   galaxias.add(ga);
 }
示例#7
0
  public static void lista(
      List<Planeta> p,
      List<Estrela> e,
      List<Galaxia> g,
      String op) // Mostra lista de objetos instanciados para que o usuario faça sua escolha
      {
    int escolha = 1;
    Scanner scan = new Scanner(System.in);
    String opcao = null;
    int opc;
    switch (op) {
      case "1":
        {
          if (p.size() == 0) {
            System.out.println("Não há planetas adicionados.");
            return;
          }
          for (Planeta pl : p) {
            System.out.println(escolha + " para acessar os dados do planeta: " + pl.getNome());
            escolha++;
          }
          opcao = scan.nextLine();
          opc = (int) converteInt(opcao);
          while (opc > p.size()) {
            System.out.print("entrada invalida, digite a escolha novamente: ");
            opcao = scan.nextLine();
            opc = (int) converteInt(opcao);
          }
          mostra_planetas(p.get(opc - 1));
          break;
        }
      case "2":
        {
          if (e.size() == 0) {
            System.out.println("Não há estrelas adicionadas.");
            return;
          }
          for (Estrela es : e) {
            System.out.println(escolha + " para acessar os dados da estrela: " + es.getNome());
            escolha++;
          }
          opcao = scan.nextLine();
          opc = (int) converteInt(opcao);
          while (opc > e.size()) {
            System.out.print("entrada invalida, digite a escolha novamente: ");
            opcao = scan.nextLine();
            opc = (int) converteInt(opcao);
          }
          mostra_estrelas(e.get(opc - 1));
          break;
        }
      case "3":
        {
          if (g.size() == 0) {
            System.out.println("Não há galaxias adicionadas.");
            return;
          }
          for (Galaxia ga : g) {
            System.out.println(escolha + " para acessar os dados da galaxia: " + ga.getNome());
            escolha++;
          }
          opcao = scan.nextLine();
          opc = (int) converteInt(opcao);
          while (opc > g.size()) {
            System.out.print("entrada invalida, digite a escolha novamente: ");
            opcao = scan.nextLine();
            opc = (int) converteInt(opcao);
          }

          mostra_galaxias(g.get(opc - 1));
          break;
        }
      default:
        {
          System.out.println("Entrada inválida!");
          break;
        }
    }
  }
示例#8
0
 public static void mostra_planetas(Planeta a) // // mostra os dados do planeta selecionado
     {
   Scanner scan = new Scanner(System.in);
   System.out.println("Nome: " + a.getNome());
   System.out.println("Tipo: " + a.getTipo());
   System.out.println("Idade: " + a.getIdade());
   System.out.println("Galaxia pertencente: " + a.getGalaxia_pertencente());
   System.out.println("Temperatura média: " + a.getTemperatura_media() + " Celsius");
   System.out.println("Distancia da sua estrela: " + a.getDistancia_do_sol());
   System.out.println("Composição: " + a.getComposicao());
   System.out.println("Gravidade: " + a.getGravidade() + " G`s");
   System.out.println("Massa: " + a.getMassa() + " terras");
   System.out.println("Volume: " + a.getVolume() + " terras");
   System.out.println("Há vida neste planeta: " + a.getVida());
   System.out.println("Descrição: " + a.getDescricao());
 }