コード例 #1
0
ファイル: Astar.java プロジェクト: kazka/tiralabra
 /**
  * Relax-metodi joka tarkistaa onko nyt tutkittavan viereisen pisteen nykyinen dist-arvo
  * korvattavissa pienemmällä arvolla.
  *
  * @param u Piste josta tultiin
  * @param v Pisteen u vieressä oleva piste johon etäisyyttä tutkitaan
  */
 public void relax(AstarPiste u, AstarPiste v) {
   int udist = u.getDist() + this.laby[v.getY()][v.getX()];
   if (u.getDist() == Integer.MAX_VALUE) {
     udist = u.getDist();
   }
   if (v.getDist() > udist) {
     v.setDist(udist);
     v.paivitaAlkuunPlusLoppuun();
     this.keko.decKey(v);
     v.setEdellinen(u);
   }
 }
コード例 #2
0
ファイル: Astar.java プロジェクト: kazka/tiralabra
 /**
  * Metodi jolla kutsutaan jokaiselle pisteen u viereiselle pisteelle tarkistaJaRelaxoi-metodia.
  *
  * @param u Piste jonka viereiset pisteet tutkitaan
  */
 public void tutkiViereiset(AstarPiste u) {
   tarkistaJaRelaxoi(u, u.getX(), u.getY() + 1);
   tarkistaJaRelaxoi(u, u.getX() + 1, u.getY());
   tarkistaJaRelaxoi(u, u.getX() - 1, u.getY());
   tarkistaJaRelaxoi(u, u.getX(), u.getY() - 1);
 }