Ejemplo n.º 1
0
  public JogoArpao() {
    continuarAnimacao = new Booleano(true);
    emMov = new Booleano(false);
    enquadramento = new Dimension(800, 600);
    mg = new MovimentoGravitico();
    mg.setXmin(0);
    mg.setYmax(0);
    mg.setXmax(enquadramento.width);
    mg.setYmax(enquadramento.height);
    vidas = new Inteiro(3);
    tempoNivel = new Inteiro(0);
    pontos = 0;

    ampulheta = new Ampulheta();

    personagem = new Personagem();
    personagem.setMg(mg);
    personagem.setMovivel(emMov);

    arpao = new Arpao(emMov);
    arpao.setMG(mg);

    bolas = new LinkedList<BolaQJ>();
    estrelas = new LinkedList<>();

    obstaculos = new LinkedList<Obstaculo>();

    obstaculos.add(Obstaculo.padrao());

    txtVidas =
        new TXTPaint(
            criaFonte(Font.PLAIN, 18),
            new CadeiaCaracteres() {
              public String getCadeia() {
                return "Vidas " + vidas.getValor();
              }
            });
    txtVidas.setX(10);
    txtVidas.setY(30);
    txtVidas.setVisivel(true);

    txtPontos =
        new TXTPaint(
            criaFonte(Font.PLAIN, 15),
            new CadeiaCaracteres() {
              public String getCadeia() {
                return "Pontos:" + pontos;
              }
            });
    txtPontos.setX(700);
    txtPontos.setY(30);
    txtPontos.setVisivel(true);
  }
Ejemplo n.º 2
0
  public boolean carregarNivel() {
    tempoNivel.setValor(0);
    LinkedList<ControlavelPorTeclado> lControlaveisPorTeclado =
        new LinkedList<ControlavelPorTeclado>();
    LinkedList<Pintavel> lPintaveis = new LinkedList<Pintavel>();

    emMov.setValor(false);
    BDTniveis bdtNiveis = new BDTniveis();
    DadosNivel dadosNivel = bdtNiveis.getNivel(numNivel);
    bdtNiveis.fecha();

    if (dadosNivel == null) {
      return false;
    }
    dadosNivel.num = numNivel;

    fundo = new Fundo(dadosNivel.fundo);

    mg.setX(dadosNivel.xPersonagem);

    mg.setX(dadosNivel.xPersonagem);
    mg.setY(dadosNivel.yPersonagem);

    personagem.iniciar();
    arpao.iniciar();

    bolas.clear();
    estrelas.clear();
    for (DadosBola dBola : dadosNivel.bolas) {
      // BolaMov bola = Bola.criaBola(dBola.tipo).criaBolaMovivel();
      BolaQJ bola = new BolaQJ(TipoBola.get(dBola.tipo));
      bola.setEmMov(emMov);
      bola.setEnquadramento(enquadramento);
      bola.setX(dBola.x);
      bola.setY(dBola.y);
      bola.setVx(dBola.vx);
      bola.setVy(dBola.vy);
      bolas.add(bola);
    }

    for (DadosEstrela dEstrela : dadosNivel.estrelas) {
      // BolaMov bola = Bola.criaBola(dBola.tipo).criaBolaMovivel();
      Estrela estrela = new Estrela(dEstrela.tamanho);
      estrela.setEmMov(emMov);
      estrela.setEnquadramento(enquadramento);
      estrela.setX(dEstrela.x);
      estrela.setY(dEstrela.y);
      estrelas.add(estrela);
    }

    lPintaveis.add(fundo);
    lPintaveis.addAll(obstaculos);
    lPintaveis.add(arpao);
    lPintaveis.add(personagem);
    lPintaveis.addAll(bolas);
    lPintaveis.addAll(estrelas);
    lPintaveis.add(txtVidas);
    lPintaveis.add(ampulheta);
    lPintaveis.add(txtPontos);

    for (Pintavel pintavel : lPintaveis) {
      pintavel.setEnquadramento(enquadramento);
    }

    lControlaveisPorTeclado.add(personagem);
    lControlaveisPorTeclado.add(arpao);
    lControlaveisPorTeclado.add(this);

    indicadorNivel = new TXTInicioNivel(numNivel);
    indicadorNivel.setEnquadramento(enquadramento);
    lPintaveis.add(indicadorNivel);
    temporizar(
        new Inteiro(3),
        new Runnable() {
          public void run() {
            emMov.setValor(true);
            @SuppressWarnings("unchecked")
            LinkedList<Pintavel> lPintaveis = (LinkedList<Pintavel>) pintaveis.clone();
            lPintaveis.remove(indicadorNivel);
            pintaveis = lPintaveis;
            iniciarTemporizadorNivel(60);
            ampulheta.iniciar(60);
          }
        });
    controlaveisPorTeclado = lControlaveisPorTeclado;
    pintaveis = lPintaveis;
    temporizador.start();
    return true;
  }