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