# [Scala][1], <del>378</del> 336 bytes

Port of [@bsoelch's Python answer][2] in Scala.


Saved 42 bytes thanks to the comment of [@Kjetil S][3]

---

Golfed version. [Try it online!][4]

```scala
def f(s:(Int,Int),b:Seq[(Int,Int)],t:(Int,Int),K:Int=0)={var p=Seq(s);var k=K;while(!p.contains(t)&&k<64){p=(for(i<-0 until 64;u=i/8;v=i%8;if !b.contains((u,v))&&p.exists{case(x,y)=>(x-u)*(x-u)+(y-v)*(y-v)==5})yield(u,v)).toList;k+=1};k%64}
def C(s:String)=(s(0)-97,s(1)-49)
def h(a:String,b:List[String],c:String)=f(C(a),b.map(C),C(c))
```




Ungolfed version. [Try it online!][5]

```scala
object Main {
  def f(s: (Int, Int), b: List[(Int, Int)], t: (Int, Int), k: Int = 0): Int = {
    var p = List(s)
    var kVar = k
    while (!p.contains(t) && kVar < 64) {
      p = (for (i <- 0 until 64; 
                u = i / 8; 
                v = i % 8; 
                if !b.contains((u, v)) && p.exists { case (x, y) => (x - u) * (x - u) + (y - v) * (y - v) == 5 }) 
            yield (u, v)).toList
      kVar += 1
    }
    kVar % 64
  }

  def coord(s: String): (Int, Int) = {
    ("abcdefgh".indexOf(s.charAt(0)), s.charAt(1).asDigit - 1)
  }

  def helper(a: String, b: List[String], c: String): Int = {
    f(coord(a), b.map(coord), coord(c))
  }
  
  def main(args: Array[String]): Unit = {
    println(helper("e3", List(), "f5")) //-> 1
    println(helper("e3", List(), "f6")) //-> 2
    println(helper("c4", List(), "f6")) //-> 3
    println(helper("g1", List("f3", "g3"), "h4")) //-> 4
    println(helper("c4", List("d6", "b6", "e5", "e3", "e4"), "f6")) //-> 5
    println(helper("a1", List(), "h8")) //-> 6
    println(helper("g1", List("h3","h5","g2","g3","g6","f3", "e5", "e6", "d4", "d5", "c1", "c3", "c5", "b2"), "b7")) //-> 7
    println(helper("h1", List("f2", "g3"), "h3")) //-> 0
    println(helper("d4", List("b3", "b5", "c2", "c6", "e2", "e6", "f3", "f5"), "a8")) //-> 0
  }
}
```


  [1]: http://www.scala-lang.org/
  [2]: https://codegolf.stackexchange.com/a/264739/110802
  [3]: https://codegolf.stackexchange.com/users/64733/kjetil-s
  [4]: https://tio.run/##hVFNb6MwFLznV7iWWj1vIQmEkBTqSqucqm5PVU9VD@bbG0pYcLKJEL89a5uUZJG6i8SYZ2bejJ/rkOXsuAl@xqFAz4wXqDlGcYISqD14LIQhX2IE3kv8662v3w1x8fPJkwudEtrsWIVKKqlQE18Va/rk/854HsNVOQ43hZAGNQhyc7O@dx3SlBSSTQX83pyibSF4jlzH31I@Wfo7yq@XPk/QVXBWwtbYEakux/Ge16JuQlbHsDcOhD7A3tySbxpv4WDu5LdCSuctOfA4jzrxWGx@SKm/vqVW66@vXacdqQOv5IFfRMWLlFCoYUrMu4VRg0VM545oRgbsxJDzUD3euurdCHtlAitgcl7jD1bCihgrCAk5IqT0H/IIwKq09tD3qmKHTznx0GvBBaKoGSH5lHJX5AVkgOMZNpCyAmIgnMwxIWgyMR@Q9R@m2zPtITN0vmDOhszU@mTiRLXH6QwrTeb0Gufr7jhylSbQGM816i6xgwfO82EXZl1mzJY90/1Hxkx2x5k0wqmtQJWpdD@FP0XQcSJHo94JLY2aE@qdwNYBg0VvuxjaZhejsS9HM@s106EmOo8m0G5B56/1YTcm@5yxS63uXC5s@VffdtQe/wA
  [5]: https://tio.run/##hVJNb9swDL3nV7ACWkir48SJkwZZXaDALgM67DC0l2EHWf7S4tqGrWQJivz2jJId2xk8xAeapJ74nkhWgqf8dMr936FQ8I3LDD5GAEEYQUSrNdCvmbIADbPAX8OLrNTPLvfLAnWJ2ay1Ax5M2dnT9QB2vIQCI12BVqzNbd7QeLAxiT@JTEOgN4Ut8kyhmIoqBnd3NeoRli5ryoEpRqO8BCrhcQxT2GZKpgj5DA2i@7aIlTCB1cDZzpzdDp7JCG78TgvdWrBjRlBhh3t8SQUfIHiFmvcWHBh4T@jBGLYMPrXePdADejuTazzPgwUc2SXlQYZpAA2LrXLdqwZgGnDvgWPi46jN3eKLRzrTTE3keRnoyf1Qpcxi1h9POwxKuC8QHSfEllkQ7r/jsG2R8PJZ0SnDObaRw2xefZGxVCjcYX2qJEyLsKT8zNVtSB3jdoiejv42RLTWyfVa2e@8qGOM6rxgNRNAw/WOA6C8jPFhz2XJD2cKrPuaya5wgVmVZrTRRsI5seqdw9okWhAc32QyfmoaeQW@bOGzQbhw/wOfD8Jj5wwnkSYi8Zzoi4nbXnSv8JBgqS/6xoYLY02p0CX/aFgMluJOX3KyauHLa5IT5CEJUpJ4po0OY9TRvKURY4QFrrEmIxxjDUaYjD8zUv2HlvthkDvptWvWb9e8vTgdvBh07fINr18rMUVE3bpZp7bWr3cDf3x1Ufw4Op5OfwE