/** actualiza */ @Override public void actualiza(Object obj) { if (obj instanceof Casilla) { Casilla casilla = (Casilla) obj; // si hay imagen en la casilla la quitamos y al revés if (tableroVista.getIconCasilla(casilla) == null) tableroVista.ponerIconoCasilla( casilla.getFil(), casilla.getCol(), recSwingApp.getIconoApp()); else tableroVista.ponerIconoCasilla(casilla.getFil(), casilla.getCol(), null); // indicamos la casilla seleccionada en la línea de estado estadoTablero.setText(recSwingApp.getEtiqueta(ESTADO_TABLERO) + obj.toString()); // desactivamos selección de nuevo jugador if (!listaJugadores.isSelectionEmpty()) listaJugadores.clearSelection(); botonInvitar.setEnabled(false); } }
private boolean checkear(int posx, int posy, String direccion, int retraso) { int x1, x2, y1, y2; Casilla aux; if (direccion.equals("arriba")) { y1 = ((posy - retraso) + 10) / 52; x1 = (posx + 10) / 42; x2 = (posx + 31) / 42; y2 = (posy - retraso + 41) / 52; if (grafo.checkearParedes(x1, y1) || grafo.checkearParedes(x2, y2) || grafo.checkearParedes(x1, y2) || grafo.checkearParedes(x2, y1)) return false; aux = grafo.obtenerNodo(posx / 42, posy / 52); if (!(aux.equals(grafo.obtenerNodo((x1 + x2) / 2, (y1 + y2) / 2)))) { System.out.println("xxx"); aux.eliminar(0); } grafo.ponerImagen((x1 + x2) / 2, (y1 + y2) / 2, 0); } else if (direccion.equals("abajo")) { y1 = (posy + retraso + 10) / 52; x1 = (posx + 10) / 42; x2 = (posx + 31) / 42; y2 = (posy + retraso + 41) / 52; if (grafo.checkearParedes(x1, y1) || grafo.checkearParedes(x2, y2) || grafo.checkearParedes(x1, y2) || grafo.checkearParedes(x2, y1)) { return false; } aux = grafo.obtenerNodo(posx / 42, posy / 52); if (!(aux.equals(grafo.obtenerNodo((x1 + x2) / 2, (y1 + y2) / 2)))) { aux.eliminar(0); } grafo.ponerImagen((x1 + x2) / 2, (y1 + y2) / 2, 0); } else if (direccion.equals("derecha")) { y1 = (posy + 10) / 52; x1 = (posx + retraso + 10) / 42; x2 = (posx + 31 + retraso) / 42; y2 = (posy + 41) / 52; if (grafo.checkearParedes(x1, y1) || grafo.checkearParedes(x2, y2) || grafo.checkearParedes(x1, y2) || grafo.checkearParedes(x2, y1)) { return false; } aux = grafo.obtenerNodo(posx / 42, posy / 52); if (!(aux.equals(grafo.obtenerNodo((x1 + x2) / 2, (y1 + y2) / 2)))) { aux.eliminar(0); } grafo.ponerImagen((x1 + x2) / 2, (y1 + y2) / 2, 0); } else if (direccion.equals("izquierda")) { y1 = (posy + 10) / 52; x1 = (posx - retraso + 10) / 42; x2 = (posx + 31 - retraso) / 42; y2 = (posy + 41) / 52; if (grafo.checkearParedes(x1, y1) || grafo.checkearParedes(x2, y2) || grafo.checkearParedes(x1, y2) || grafo.checkearParedes(x2, y1)) { return false; } aux = grafo.obtenerNodo(posx / 42, posy / 52); if (!(aux.equals(grafo.obtenerNodo((x1 + x2) / 2, (y1 + y2) / 2)))) { aux.eliminar(0); } grafo.ponerImagen((x1 + x2) / 2, (y1 + y2) / 2, 0); } return true; }