Ir ao conteúdo
  • Cadastre-se

Adicionar objetos ao jogo !


Posts recomendados

Fala galera, 

 

Estou fazendo um trabalho de faculdade e estou trancado em uma quesito do trabalho que é adicionar obstáculos moveis e fixos na tela do jogo e que interagem com o usuário! 

 

Gostaria de saber se alguém tem alguma sugestão para fazer aparecer 

 

 



import java.awt.Color;  
import java.awt.Graphics;  
import javax.swing.JPanel;  
import javax.swing.JFrame;  
import java.awt.event.KeyListener;  
import java.awt.event.KeyEvent;  
import java.awt.Dimension;  
import java.util.Random;  
  
public class GameWindow extends JPanel {  
    
  public static void main(String args[]) {  
    GameWindow g = new GameWindow();  
    Random gerador = new Random();  
    int tempo = 0;  
    int dx = 200;  
    int dy = 200;  
    int ox,oy,ry,rx,py,px,ex,ey;  
    int oxx= 280,oxy = 280;  
      
    boolean tesouro = false;  
    boolean tesouro2 = false;  
    boolean tesouro3 = false;  
    boolean tesouro4 = false;  
      
    // gera as coord do ouro  
    ox = gerador.nextInt(0 + 200);  
    oy = ox;   
      
    // gera as coord do rubi  
    rx = gerador.nextInt(0 + 200);  
    ry = rx;   
      
    // gera as coord da perola  
    px = gerador.nextInt(0 + 200);  
    py = px;   
      
    // gera as coord da esmeralda  
    ex = gerador.nextInt(0 + 200);  
    ey = ex;   
      
      
    //posiciona o elementos na tela  
    g.setOuro(ox, oy);  
    g.setRubi(rx, ry);  
    g.setPerola(px, py);  
    g.setEsmeralda(ex,ey);  
    g.setOxi(280,280);  
      
    //ate final dos tempos  
    while (tempo < 300) {  
      g.desenha();  
      if (g.apertouEsquerda()) {  
        dx -= 4;  
      } else if (g.apertouDireita()) {  
        dx += 4;  
      } else if (g.apertouCima()) {  
        dy -= 4;  
      } else if (g.apertouBaixo()) {  
        dy += 4;  
      }  
      tempo++;  
      // posiciona o mergulhador no pixel dx e dy da tela  
      g.setDiver(dx, dy);  
      System.out.println(tempo);  
      // Compara se os tesouros foram pegos   
      if (dx >= ox && dy <= oy && dx <= ox+17 && dy >= oy-20){  
        tesouro = true;  
        g.setOuro(400, 400);  
      }  
        
      if (dx >= rx && dy <= ry && dx <= rx+17 && dy >= ry-20){  
        tesouro2 = true;  
        g.setRubi(400, 400);  
      }  
        
      if (dx >= px && dy <= py && dx <= px+17 && dy >= py-20){  
        tesouro3 = true;  
        g.setPerola(400, 400);  
          
      }  
        
      if (dx >= ex && dy <= ey && dx <= ex+20 && dy >= ey-20){  
        tesouro4 = true;  
        g.setEsmeralda(400,400);  
      }  
        
      //CONTROLA O OXIGENIO  
      if (dx >= oxx && dy <= oxy && dx <= oxx+17 && dy >= oxy-20){  
        tempo = 0;  
        g.setOxi(400,400);  
      }  
      //Se tudo for pego mostra WIN  
      if ((tesouro == true)&&(tesouro2 == true)&&(tesouro3 == true)&&(tesouro4 == true)){  
        g.ganhou();  
        g.desenha();  
          
        tempo = 300;  
      }  
      //Controla o tempo de jogo  
      if (tempo == 299) {  
        g.gameOver();  
        g.desenha();  
        tempo++;  
      }  
        
    }  
      
      
    // Atributo importante que determina o tamanho de cada pixel.  
  }  
  private final int pt = 2;  
    
  private int[][] game = {  
    {1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1},  
    {1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1},  
    {1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0},  
    {1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0},  
    {1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0},  
    {1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1},  
    {1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1}  
  };  
    
  int[][] over = {  
    {1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1},  
    {1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1},  
    {1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1},  
    {1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0},  
    {1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1},  
    {1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1},  
    {1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1}  
  };  
    
  int[][] ouro = {  
    {1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1},  
    {1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1},  
    {1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1},  
    {1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1},  
    {1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1},  
    {1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1},  
    {1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1}  
  };  
    
  int[][] rubi ={  
    { 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1},  
    { 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1},  
    { 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1},  
    { 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1},  
    { 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1},  
    { 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1},  
    { 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1}  
  };  
  int[][] perola={  
    { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1},  
    { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1},  
    { 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1},  
    { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1},  
    { 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1},  
    { 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1},  
    { 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1}  
  };  
    
  int[][] esmeralda={  
      
    { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1},  
    { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1},  
    { 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1},  
    { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1},  
    { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1},  
    { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1},  
    { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1}  
  };  
    
  int[][] diver = {  
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  
    {0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  
    {0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  
    {0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  
    {0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  
    {0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  
    {0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  
    {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  
    {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  
    {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  
    {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},  
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},  
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},  
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0},  
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0},  
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0},  
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0},  
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0}  
  };  
    
  int[][] win = {  
    {1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1},  
    {1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1},  
    {1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1},  
    {1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1},  
    {1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1},  
    {0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1},  
    {0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1}  
  };  
    
  int[][] oxigenio = {  
    {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},  
    {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},  
    {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},  
    {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},  
    {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},  
    {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},  
  };  
    
  //x e y do mergulhador  
  private int x;  
  private int y;  
    
  //x e y do ouro  
  private int ox;  
  private int oy;  
    
  //x e y do rubi  
  private int rx;  
  private int ry;  
    
  //x e y da perola  
  private int px;  
  private int py;  
    
  //x e y da esmeralda  
  private int ex;  
  private int ey;  
    
  // x e y do oxigenio  
  private int oxx;  
  private int oxy;  
    
  private final int boardWidth;  
  private final int boardHeight;  
    
  //boleana para indicar se a tecla SETA esquerda foi pressionada  
  private boolean esquerda = false;  
  //boleana para indicar se a tecla SETA direita foi pressionada  
  private boolean direita = false;  
  //boleana para indicar se a tecla SETA cima foi pressionada  
  private boolean cima = false;  
  //boleana para indicar se a tecla SETA baixo foi pressionada  
  private boolean baixo = false;  
  //se true deve mostrar a mensagem game over na tela  
  private boolean gameOver = false;  
  //se true deve mostrar a mensgaem you win na tela  
  private boolean ganhou = false;  
    
  // variável que carrega o   
  private JFrame frame = new JFrame("CaveDiving");  
    
  /* 
   Deve indicar a largura últil em pixels da janela. 
   @[member="Return"] um inteiro que é a quantidade de casas (horizontais) da janela. 
   */  
  public int getBoardWidth() {  
    return boardWidth;  
  }  
    
  /** 
   * Deve indicar a altura últil em pixels da janela. 
   * 
   * @[member="Return"] um inteiro que é a quantidade de casas verticais (linhas) da 
   * janela. 
   */  
  public int getBoardHeight() {  
    return boardHeight;  
  }  
    
  /** 
   * Desenha na tela o jogo e fica para por 80ms. 
   */  
  public void desenha() {  
      
    frame.repaint();  
    try {  
      Thread.sleep(80);  
    } catch (final java.lang.InterruptedException e) {  
    }  
  }  
    
  /** 
   * Desenha uma matriz qualquer passada como parâmetro. 
   * 
   * @param x coluna na qual o objeto deve ser desenhado. 
   * @param y linha na qual o objeto deve ser desenhado. 
   * @param m matriz com um mapa de pixels a serem desenhados. 
   * @param g objeto gráfico usado para desenhar na tela. 
   */  
  private void drawMatrix(final int m[][], final int x, final int y, final Graphics g) {  
      
    for (int i = 0; i < m[0].length; i++) {  
      for (int j = 0; j < m.length; j++) {  
        if (m[j]<i> == 1) {  
          g.drawOval((x + i) * pt, (y + j) * pt, pt, pt);  
          g.fillOval((x + i) * pt, (y + j) * pt, pt, pt);  
        }  
      }  
    }  
  }  
    
  /** 
   * Posiciona o mergulhador em uma posiçõa x e y da tela. 
   *  




   * Exemplo: 
   * <pre> 
   * {@code 
   * GameWindow g = new GameWindow(); 
   * //coloca o mergulhador na posição 100, 100 da tela 
   * g.setDiver(100,100) 
   * //atualiza a tela e mostra o mergulhador na nova posição 
   * g.desenha(); 
   * } 
   * </pre> 
   * 
   * @param x coluna posição horizontal do mergulhador. 
   * @param y linha posição vertical do mergulhador. 
   */  
  public void setDiver(int x, int y) {  
    this.x = x;  
    this.y = y;  
  }  
    
  /** 
   * Posiciona o ouro na posiçõa x e y da tela. 
   *  




   * Exemplo: 
   * <pre> 
   * {@code 
   * GameWindow g = new GameWindow(); 
   * //coloca o mergulhador na posição 40, 40 da tela 
   * g.setOuro(40,40) 
   * //atualiza a tela e mostra o mergulhador na nova posição 
   * g.desenha(); 
   * } 
   * </pre> 
   * 
   * @param x coluna posição horizontal do ouro. 
   * @param y linha posição vertical do ouro. 
   */  
  public void setOuro(int x, int y) {  
    this.ox = x;  
    this.oy = y;  
  }  
    
  public void setRubi(int x, int y) {  
    this.rx = x;  
    this.ry = y;  
  }  
  public void setPerola(int x, int y) {  
    this.px = x;  
    this.py = y;  
  }  
  public void setEsmeralda(int x, int y) {  
    this.ex = x;  
    this.ey = y;  
  }  
    
  public void setOxi(int x, int y) {  
    this.oxx = x;  
    this.oxy = y;  
  }  
  /** 
   * Desenha este componente, método chamado pelo próprio java. 
   * 
   */  
  public void paintComponent(final Graphics g) {  
      
    final int width = getWidth();  
    final int height = getHeight();  
    g.setColor(Color.black);  
      
    g.setColor(Color.black);  
      
    if (gameOver) {  
      drawMatrix(game, 120, 120, g);  
      drawMatrix(over, 140, 140, g);  
    }  
      
    if (ganhou) {  
      drawMatrix(win, 150, 150, g);  
    }  
    //IMPRIME NA TELA OS ELEMENTOS E SUAS CORES  
    drawMatrix(diver, x, y, g);  
    g.setColor(Color.yellow);  
    drawMatrix(ouro, ox, oy, g);  
      
    g.setColor(Color.red);  
    drawMatrix(rubi, rx, ry, g);  
      
    g.setColor(Color.orange);  
    drawMatrix(perola, px, py, g);  
      
    g.setColor(Color.GREEN);  
    drawMatrix(esmeralda, ex, ey, g);  
      
    g.setColor(Color.cyan);  
    drawMatrix(oxigenio, oxx, oxy, g);  
      
    g.setColor(Color.lightGray);  
    for (int i = 0; i < height; i++) {  
      g.drawLine(0, i * pt, boardWidth * pt, i * pt);  
    }  
      
    for (int i = 0; i < width; i++) {  
      g.drawLine(i * pt, 0, i * pt, boardHeight * pt);  
    }  
  }  
    
  /** 
   * Mostra a mensagem game over na tela. 
   *  




   * Exemplo: 
   * <pre> 
   * {@code 
   * GameWindow g = new GameWindow(); 
   * //ativa a mensagem "GAME OVER" 
   * g.gameOver(); 
   * //deve chamar desenha para atualizar a tela e mostrar "GAME OVER" 
   * g.desenha(); 
   * } 
   * </pre> 
   */  
  public void gameOver() {  
    gameOver = true;  
  }  
    
  /** 
   * Desenha uma mensagem de WIN da proxima vez que chamar desenha(). 
   *  




   * Exemplo: 
   * <pre> 
   * {@code 
   * GameWindow g = new GameWindow(); 
   * //ativa a mensagem "WIN" 
   * g.ganhou(); 
   * //deve chamar desenha para atualizar a tela e mostrar "WIN" 
   * g.desenha(); 
   * } 
   * </pre> 
   */  
  public void ganhou() {  
    ganhou = true;  
  }  
    
  /** 
   * Retorna verdadeiro se a seta para a esquerda estiver sendo pressionada 
   * pelo usuário. 
   *  




   * Exemplo: 
   * <pre> 
   * {@code 
   * GameWindow g = new GameWindow(); 
   * while(true){ 
   *  if(g.apertouEsquerda()){ 
   *   System.out.println("Apertou a SETA ESQUERDA!!!"); 
   *  } 
   * } 
   * } 
   * </pre> 
   * 
   * @[member="Return"] verdadeiro (true) caso a seta para a esquerda estiver sendo 
   * precionada, falso (false) caso contrário. 
   */  
  public boolean apertouEsquerda() {  
    return esquerda;  
  }  
    
  /** 
   * Retorna verdadeiro se a seta para a direita estiver sendo pressionada 
   * pelo usuário. 
   *  




   * Exemplo: 
   * <pre> 
   * {@code 
   * GameWindow g = new GameWindow(); 
   * while(true){ 
   *  if(g.apertouDireita()){ 
   *   System.out.println("Apertou a SETA DIREITA!!!"); 
   *  } 
   * } 
   * } 
   * </pre> 
   * 
   * @[member="Return"] verdadeiro (true) caso a seta para a direita estiver sendo 
   * precionada, falso (false) caso contr?rio. 
   */  
  public boolean apertouDireita() {  
    return direita;  
  }  
    
  /** 
   * Retorna verdadeiro se a seta para a cima estiver sendo pressionada pelo 
   * usuário. 
   *  




   * Exemplo: 
   * <pre> 
   * {@code 
   * GameWindow g = new GameWindow(); 
   * while(true){ 
   *  if(g.apertouCima()){ 
   *   System.out.println("Apertou a SETA CIMA!!!"); 
   *  } 
   * } 
   * } 
   * </pre> 
   * 
   * @[member="Return"] verdadeiro (true) caso a seta para a cima estiver sendo 
   * precionada, falso (false) caso contr?rio. 
   */  
  public boolean apertouCima() {  
    return cima;  
  }  
    
  /** 
   * Retorna verdadeiro se a seta para a baixo estiver sendo pressionada pelo 
   * usuário. 
   *  




   * Exemplo: 
   * <pre> 
   * {@code 
   * GameWindow g = new GameWindow(); 
   * while(true){ 
   *  if(g.apertouBaixo()){ 
   *   System.out.println("Apertou a SETA BAIXO!!!"); 
   *  } 
   * } 
   * } 
   * </pre> 
   * 
   * @[member="Return"] verdadeiro (true) caso a seta para a baixo estiver sendo 
   * precionada, falso (false) caso contr?rio. 
   */  
  public boolean apertouBaixo() {  
    return baixo;  
  }  
    
  /** 
   * Construtor, inicia a janela do jogo. Este método é chamado quando criamos 
   * o objeto com new. 
   *  




   * Exemplo: 
   * <pre> 
   * {@code 
   * //para criar a janela use 
   * GameWindow g = new GameWindow(); 
   * } 
   * </pre> 
   * 
   */  
  public GameWindow() {  
      
    boardWidth = 300;  
    boardHeight = 300;  
    setPreferredSize(new Dimension(boardWidth * pt, boardHeight * pt));  
      
    frame = new JFrame("CaveDive - By: Igor & Gustavo");  
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
    frame.getContentPane().add(this);  
    frame.pack();  
    frame.setResizable(false);  
    frame.setVisible(true);  
    frame.setBackground(Color.WHITE);  
    frame.addKeyListener(new KeyListener() {  
      public void keyPressed(final KeyEvent e) {  
        if (e.getKeyCode() == KeyEvent.VK_RIGHT) {  
          direita = true;  
        } else if (e.getKeyCode() == KeyEvent.VK_LEFT) {  
          esquerda = true;  
        } else if (e.getKeyCode() == KeyEvent.VK_UP) {  
          cima = true;  
        } else if (e.getKeyCode() == KeyEvent.VK_DOWN) {  
          baixo = true;  
        }  
      }  
        
      public void keyReleased(final KeyEvent e) {  
        if (e.getKeyCode() == KeyEvent.VK_RIGHT) {  
          direita = false;  
        } else if (e.getKeyCode() == KeyEvent.VK_LEFT) {  
          esquerda = false;  
        } else if (e.getKeyCode() == KeyEvent.VK_UP) {  
          cima = false;  
        } else if (e.getKeyCode() == KeyEvent.VK_DOWN) {  
          baixo = false;  
        }  
      }  
        
      public void keyTyped(final KeyEvent e) {  
      }  
    });  
      
  }  
    
  void gameBau() {  
    throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.  
  }  
    
}  

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...