Пример #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);
  }
Пример #2
0
  private void tempoEsgotado() {
    vidas.inc(-1);
    if (vidas.getValor() == 0) {
      fimDoJogo();
      return;
    }

    TXTPaint tempoEsgotado = new TXTPaint(criaFonte(Font.PLAIN, 40), "Tempo esgotado");
    tempoEsgotado.setX(250);
    tempoEsgotado.setY(300);

    tempoEsgotado.setVisivel(true);

    pintaveis.clear();
    pintaveis.add(fundo);
    pintaveis.add(tempoEsgotado);

    temporizar(
        new Inteiro(3),
        new Runnable() {
          public void run() {
            carregarNivel();
          }
        });
  }
Пример #3
0
 public void teclaPressionada(KeyEvent ke) {
   if (pausa == null) {
     pausa = new TXTPaint(criaFonte(Font.PLAIN, 40), "Pausado!");
     pausa.setX(300);
     pausa.setY(300);
     pausa.setVisivel(false);
     pintaveis.add(pausa);
   }
   if (ke.getKeyCode() == KeyEvent.VK_P) {
     if (emMov.activo()) {
       temporizador.stop();
       emMov.setValor(false);
       pausa.setVisivel(true);
     } else {
       temporizador.start();
       emMov.setValor(true);
       pausa.setVisivel(false);
     }
   }
 }
Пример #4
0
 protected void fimNivel() {
   pontos += tempoNivel.getValor() * 10;
   tempoNivel.setValor(0);
   if (temporizador != null) {
     temporizador.stop();
     temporizador = null;
   }
   TXTPaint txtFimNivel =
       new TXTPaint(
           criaFonte(Font.BOLD, 40),
           new CadeiaCaracteres() {
             public String getCadeia() {
               return "Nivel " + numNivel + " completo!";
             }
           });
   txtFimNivel.setVisivel(true);
   pintaveis.clear();
   pintaveis.add(fundo);
   pintaveis.add(txtFimNivel);
   numNivel++;
   if (!carregarNivel()) {
     fimDoJogo();
   }
 }