public void move() { if (_toEat.getEaten()) { _toEat = null; _targetPos = null; _toExecute = "arret"; } else { if (_targetPos.getX() == _actualPos.getX() && _targetPos.getY() == _actualPos.getY()) { System.out.println("Trying to eat"); _toEat.eat(); } else { // On change la position du pigeon // on v�rifie sur l'axe x if (_actualPos.getX() != _targetPos.getX()) { if (_actualPos.getX() < _targetPos.getX()) { this._position = "droite"; this._actualPos.setX(_actualPos.getX() + 1); } else { this._position = "gauche"; this._actualPos.setX(_actualPos.getX() - 1); } } // on v�rifie sur l'axe y if (_actualPos.getY() != _targetPos.getY()) { if (_actualPos.getY() < _targetPos.getY()) { this._actualPos.setY(_actualPos.getY() + 1); } else { this._actualPos.setY(_actualPos.getY() - 1); } } } } }
@Override public void run() { // System.out.println("update map now"); LinkedList<EdgeOp> backlist = new LinkedList<>(); PublicData pd = PublicData.getData(); int i; PosOp tmpPosOp; EdgeOp tmpEdgeOp; Pos tmpPos; for (i = 0; i < pd.posTask.size(); i++) { tmpPosOp = pd.posTask.get(i); if (tmpPosOp.op == 0) { // op==0 add a pos MapViewer.this.g.addVertex(new Integer(tmpPosOp.pos)); tmpPos = pd.agentsPos.get(tmpPosOp.pos); MapViewer.this.layout.setLocation(tmpPosOp.pos, tmpPos.getX(), tmpPos.getY()); } else { MapViewer.this.g.removeVertex(tmpPosOp.pos); } } for (i = 0; i < pd.edgeTask.size(); i++) { tmpEdgeOp = pd.edgeTask.get(i); if (tmpEdgeOp.op == 0) { // add a edge // int edgeNum=g.getEdgeCount(); MapViewer.this.g.addEdge(edgeCnt, tmpEdgeOp.start, tmpEdgeOp.end); backlist.add(new EdgeOp(1, edgeCnt, 0, pd.displayCnt)); edgeCnt++; } else { // remove if (tmpEdgeOp.delay <= 0) { g.removeEdge(tmpEdgeOp.start); } else { tmpEdgeOp.delay--; backlist.add(tmpEdgeOp); } } } pd.resetTask(); pd.edgeTask = backlist; vv.repaint(); // throw new UnsupportedOperationException("Not supported yet."); //To change body of // generated methods, choose Tools | Templates. }
private void parseRect() { // Список символов List<List<Dot>> dotvv = new ArrayList<List<Dot>>(); for (int i = 0; i < tc.getSymbols().size(); i++) { List<Dot> dotv = new ArrayList<Dot>(); // Список определений символов // Нарисовать элементы Symbol // Нарисовать строки из полей Field for (int j = 0; j < tc.getSymbols().get(i).getField2s().size(); j++) { if (tc.getSymbols().get(i).getField2s().get(j).getShow() == 1) { Dot dd1 = new Dot( (tc.getSymbols().get(i).getPos().getX() + tc.getSymbols().get(i).getField2s().get(j).getPos().getX()), (tc.getSymbols().get(i).getPos().getY() + tc.getSymbols().get(i).getField2s().get(j).getPos().getY())); dotv.add(dd1); if (ModelDSN.debug >= 2) System.out.println("0.Added x-" + dd1.getX() + ", y-" + dd1.getY()); } } for (int j = 0; j < tc.getSymbolDefs().size(); j++) { if (tc.getSymbols().get(i).getId() == tc.getSymbolDefs().get(j).getId()) { // Координаты правого нижнего угла for (int k = 0; k < tc.getSymbolDefs().get(j).getTinyCadSymbol().getRectangles().size(); k++) { Dot dd1 = new Dot( tc.getSymbols().get(i).getPos().getX() + tc.getSymbolDefs() .get(j) .getTinyCadSymbol() .getRectangles() .get(k) .getA() .getX(), tc.getSymbols().get(i).getPos().getY() + tc.getSymbolDefs() .get(j) .getTinyCadSymbol() .getRectangles() .get(k) .getA() .getY()); Dot dd2 = new Dot( tc.getSymbols().get(i).getPos().getX() + tc.getSymbolDefs() .get(j) .getTinyCadSymbol() .getRectangles() .get(k) .getB() .getX(), tc.getSymbols().get(i).getPos().getY() + tc.getSymbolDefs() .get(j) .getTinyCadSymbol() .getRectangles() .get(k) .getB() .getY()); dotv.add(dd1); dotv.add(dd2); } // Наристовать строки for (int k = 0; k < tc.getSymbolDefs().get(j).getTinyCadSymbol().getTexts().size(); k++) { Dot dd1 = new Dot( tc.getSymbols().get(i).getPos().getX() + tc.getSymbolDefs() .get(j) .getTinyCadSymbol() .getTexts() .get(k) .getDp() .getX(), tc.getSymbols().get(i).getPos().getY() + tc.getSymbolDefs() .get(j) .getTinyCadSymbol() .getTexts() .get(k) .getDp() .getY()); Dot dd2 = new Dot( tc.getSymbols().get(i).getPos().getX() + tc.getSymbolDefs() .get(j) .getTinyCadSymbol() .getTexts() .get(k) .getDp() .getX() + tc.getSymbolDefs() .get(j) .getTinyCadSymbol() .getTexts() .get(k) .getStr() .length(), tc.getSymbols().get(i).getPos().getY() + tc.getSymbolDefs() .get(j) .getTinyCadSymbol() .getTexts() .get(k) .getDp() .getY() + 3); if (ModelDSN.debug >= 2) System.out.println("1.Added x-" + dd1.getX() + ", y-" + dd1.getY()); if (ModelDSN.debug >= 2) System.out.println("2.Added x-" + dd2.getX() + ", y-" + dd2.getY()); if (ModelDSN.debug >= 1) System.out.println( "Str - " + tc.getSymbolDefs().get(j).getTinyCadSymbol().getTexts().get(k).getStr()); dotv.add(dd1); dotv.add(dd2); } // Нарисовать круги for (int k = 0; k < tc.getSymbolDefs().get(j).getTinyCadSymbol().getEllipses().size(); k++) { int x1 = Math.round( (tc.getSymbols().get(i).getPos().getX() + tc.getSymbolDefs() .get(j) .getTinyCadSymbol() .getEllipses() .get(k) .getA() .getX())); int y1 = Math.round( (tc.getSymbols().get(i).getPos().getY() + tc.getSymbolDefs() .get(j) .getTinyCadSymbol() .getEllipses() .get(k) .getA() .getY())); int x2 = Math.round( (tc.getSymbols().get(i).getPos().getX() + tc.getSymbolDefs() .get(j) .getTinyCadSymbol() .getEllipses() .get(k) .getB() .getX())); int y2 = Math.round( (tc.getSymbols().get(i).getPos().getY() + tc.getSymbolDefs() .get(j) .getTinyCadSymbol() .getEllipses() .get(k) .getB() .getY())); Dot dd1 = new Dot(Math.min(x1, x2), Math.min(y1, y2)); Dot dd2 = new Dot( Math.min(x1, x2) + (Math.max(x1, x2) - Math.min(x1, x2)), Math.min(y1, y2) + (Math.max(y1, y2) - Math.min(y1, y2))); dotv.add(dd1); dotv.add(dd2); } // Нарисовать POLYGON линии for (int k = 0; k < tc.getSymbolDefs().get(j).getTinyCadSymbol().getPolygons().size(); k++) { Pos dp = tc.getSymbolDefs().get(j).getTinyCadSymbol().getPolygons().get(k).getDp(); for (int l = 0; l < tc.getSymbolDefs() .get(j) .getTinyCadSymbol() .getPolygons() .get(k) .getDpointv() .size(); l++) { Dot dd1 = new Dot( tc.getSymbols().get(i).getPos().getX() + dp.getX(), tc.getSymbols().get(i).getPos().getY() + dp.getY()); Dot dd2 = new Dot( tc.getSymbols().get(i).getPos().getX() + dp.getX() + tc.getSymbolDefs() .get(j) .getTinyCadSymbol() .getPolygons() .get(k) .getDpointv() .get(l) .getDp() .getX(), tc.getSymbols().get(i).getPos().getY() + dp.getY() + tc.getSymbolDefs() .get(j) .getTinyCadSymbol() .getPolygons() .get(k) .getDpointv() .get(l) .getDp() .getY()); dotv.add(dd1); dotv.add(dd2); } } } } dotvv.add(dotv); } // Отсортировать список dotvv по координатам x for (int i = 0; i < dotvv.size(); i++) { Collections.sort(dotvv.get(i), new DotXComparator()); tc.getModules() .add( new Module( new Dot(dotvv.get(i).get(0).getX(), 0), new Dot(dotvv.get(i).get(dotvv.get(i).size() - 1).getX(), 0))); } // Отсортировать список dotvv по координатам y for (int i = 0; i < dotvv.size(); i++) { Collections.sort(dotvv.get(i), new DotYComparator()); String val = "No name"; List<Field2> allFields = new ArrayList<Field2>(); for (int j = 0; j < tc.getSymbols().get(i).getField2s().size(); j++) { if (tc.getSymbols().get(i).getField2s().get(j).getDescription().equals("Ref")) { val = tc.getSymbols().get(i).getField2s().get(j).getValue(); } allFields.add(tc.getSymbols().get(i).getField2s().get(j)); } tc.getModules() .set( i, new Module( new Dot(tc.getModules().get(i).getA().getX(), dotvv.get(i).get(0).getY()), new Dot( tc.getModules().get(i).getB().getX(), dotvv.get(i).get(dotvv.get(i).size() - 1).getY()), val, allFields)); if (ModelDSN.debug >= 2) { System.out.println( "X1-" + tc.getModules().get(i).getA().getX() + ", Y1-" + tc.getModules().get(i).getA().getX() + ", X2-" + tc.getModules().get(i).getB().getX() + ", Y2-" + tc.getModules().get(i).getB().getY()); } } }
public void flood(Pos pos) { flood(pos.getX(), pos.getY(), true); Minesweeper.getGame().checkWin(); }
public Tile getTile(Pos pos) { return getTile(pos.getX(), pos.getY()); }
public void move_randomly() { Random r = new Random(); int valeur = r.nextInt(8); switch (valeur) { case 0: if (_actualPos.getX() + 4 < 800) { _position = "droite"; _actualPos.setX(_actualPos.getX() + 4); } break; case 1: if (_actualPos.getX() + 4 < 800 && _actualPos.getY() + 4 < 500) { _position = "droite"; _actualPos.setX(_actualPos.getX() + 4); _actualPos.setY(_actualPos.getY() + 4); } break; case 2: if (_actualPos.getY() + 4 < 500) { _actualPos.setY(_actualPos.getY() + 4); } break; case 3: if (_actualPos.getX() - 4 > 0 && _actualPos.getY() + 4 < 500) { _position = "gauche"; _actualPos.setX(_actualPos.getX() - 4); _actualPos.setY(_actualPos.getY() + 4); } break; case 4: if (_actualPos.getX() - 4 > 0) { _position = "gauche"; _actualPos.setX(_actualPos.getX() - 4); } break; case 5: if (_actualPos.getX() - 4 > 0 && _actualPos.getY() - 4 > 0) { _position = "gauche"; _actualPos.setX(_actualPos.getX() - 4); _actualPos.setY(_actualPos.getY() - 4); } break; case 6: if (_actualPos.getY() - 4 > 0) { _actualPos.setY(_actualPos.getY() - 4); } break; case 7: if (_actualPos.getX() + 4 < 800 && _actualPos.getY() - 4 > 0) { _position = "droite"; _actualPos.setX(_actualPos.getX() + 4); _actualPos.setY(_actualPos.getY() - 4); } break; default: System.out.println("NOT SUPPOSED TO HAPPEN AHDHGSGSDFHDFGHDFH"); } }