main_templates4/knight4.scala
author Christian Urban <christian.urban@kcl.ac.uk>
Wed, 09 Nov 2022 16:44:16 +0000
changeset 435 fda7c39f3b6a
parent 432 de701b64a4e0
permissions -rw-r--r--
updated wordle testing

// Part 4 about finding a single tour on "mutilated" chessboards
//==============================================================

object M4d { 

// !!! Copy any function you need from file knight1.scala !!!
// !!! or knight2.scala or knight3.scala                  !!! 
//
// If you need any auxiliary function, feel free to 
// implement it, but do not make any changes to the
// templates below.

type Pos = (Int, Int)
type Path = List[Pos]

def print_board(dim: Int, path: Path): Unit = {
  println()
  for (i <- 0 until dim) {
    for (j <- 0 until dim) {
      print(f"${path.reverse.indexOf((i, j))}%4.0f ")
    }
    println()
  } 
}

// ADD YOUR CODE BELOW
//======================

// (10)
def one_tour_pred(dim: Int, path: Path, n: Int, pred: Pos => Boolean): Option[Path] = ???


}