コード例 #1
0
  public void atualizarPosicaoNavios() {
    ImageIcon img = null;
    this.limparGrid(true, false);

    ArrayList<Navio> navios = jogador.getTabuleiro().getNaviosPosicionados();
    for (Navio navio : navios) {
      int x = navio.getPos()[0];
      int y = navio.getPos()[1];
      for (int j = 1; j <= navio.getTamanho(); j++) {
        String ori = "h";
        if (navio.getOrientacao() == Orientacao.VERTICAL) {
          ori = "v";
        }

        img = new ImageIcon(getClass().getResource(navio.getCaminhoImagens() + ori + j + ".png"));
        grid[x][y].setImagemNavio(img);

        if (navio.getOrientacao() == Orientacao.VERTICAL) {
          y += 1;
        } else {
          x += 1;
        }
      }
    }
  }
コード例 #2
0
  private void mouseOver(int[] pos) {
    Navio navio = pai.getNavioSelecionado();
    ArrayList<Integer[]> coords = this.jogador.getTabuleiro().getCoordenadasNavio(pos, navio);

    if (Jogo.modoPreparacao) {
      Color cor = this.corSelecao;
      if (!jogador.getTabuleiro().coordenadasEstaoLivres(coords)) {
        cor = this.corSelecaoErro;
      }

      for (int i = 0; i < coords.size(); i++) {
        this.grid[coords.get(i)[0]][coords.get(i)[1]].setHighlightNavio(true);
        this.grid[coords.get(i)[0]][coords.get(i)[1]].setBackground(cor);
        this.grid[coords.get(i)[0]][coords.get(i)[1]].setOrientacao(navio.getOrientacao());
      }
    } else {
      mirar(pos);
    }
  }
コード例 #3
0
 public void mostrarNaviosMortos() {
   ArrayList<Navio> navios = jogador.getTabuleiro().getNaviosPosicionados();
   for (int i = 0; i < navios.size(); i++) {
     Navio navio = navios.get(i);
     if (!navio.isVivo()) {
       int[] pos = new int[] {navio.getPos()[0], navio.getPos()[1]};
       for (int j = 0; j < navio.getTamanho(); j++) {
         this.grid[pos[0]][pos[1]]
             .getIcone()
             .setImagemNavio(new ImageIcon(jogador.getTabuleiro().getCaminhoImagem(pos)));
         this.grid[pos[0]][pos[1]].updateUI();
         if (navio.getOrientacao() == Orientacao.HORIZONTAL) {
           pos[0]++;
         } else {
           pos[1]++;
         }
       }
     }
   }
 }