/** * palauttaa true mikä tällä ja annetulla Noodilla ovat samat koordinaatit. Ylikirjoittaa * alkuperäisen equals:in. * * @param obj * @return */ @Override public boolean equals(Object obj) { if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } final Noodi other = (Noodi) obj; if (this.hashCode() != other.hashCode()) { return false; } return true; }
@Override public boolean equals(Object olio) { if (olio == null) { return false; } if (this.getClass() != olio.getClass()) { return false; } Noodi verrattava = (Noodi) olio; if (verrattava.getId() != this.getId()) { return false; } return true; }
/** * Laskee tehdyn matkan annettuun Noodiin asti * * @param edellinenNoodi * @return */ public int laskeTehtyMatka(Noodi edellinenNoodi) { return (edellinenNoodi.getTehtyMatka() + 10); }
/** * Asettaa Noodin tehdyksi matkaksi edellisen Noodin tehdyn matkan lisättynä kymmenellä. * * @param edellinenNoodi */ public void setTehtyMatka(Noodi edellinenNoodi) { setTehtyMatka(edellinenNoodi.getTehtyMatka() + 10); }
/** * Laskee jäljellä olevan matkan annettuun Noodiin ns. Manhattanin metodilla: H = * 10*(abs(currentX-targetX) + abs(currentY-targetY)) * * @param viimeinenNoodi */ public void setMatkaJaljella(Noodi viimeinenNoodi) { this.setMatkaJaljella( (absolute(this.getxPositio() - viimeinenNoodi.getxPositio()) + absolute(this.getyPositio() - viimeinenNoodi.getyPositio())) * 10); }