Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def hb(state:StateA):Int = {
- if(state.y < mapa.N /2) {
- mapa.transports.foldLeft(2*mapa.N)((a,b) => {
- val lijevi = b._2.filter(i=>i._1 < mapa.N/2)
- val desni = b._2.filterNot(i=>i._1 < mapa.N/2)
- val udaljenost = lijevi.foldLeft(2*mapa.N)((r,k) => {
- val d = desni.foldLeft(2*mapa.N)((rd,kd) => {
- val x = Math.abs(state.x - k._1) + Math.abs(state.y - k._2) +Math.abs(kd._1 - k._1) + Math.abs(kd._2 - k._2)
- if(x<rd) x
- else rd
- })
- if(d < r) d
- else r
- })
- if(udaljenost < a) udaljenost
- a
- })
- } else {
- Math.abs(state.x - mapa.getEnd()._1) + Math.abs(state.y - mapa.getEnd()._2)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement