main_templates4/knight1.scala
changeset 428 cdfa6a293453
parent 400 e48ea8300b2d
--- a/main_templates4/knight1.scala	Sat Oct 08 00:30:51 2022 +0100
+++ b/main_templates4/knight1.scala	Tue Nov 01 15:03:48 2022 +0000
@@ -9,22 +9,19 @@
 // templates below. Also have a look whether the functions
 // at the end of the file are of any help.
 
-
-
 type Pos = (Int, Int)    // a position on a chessboard 
 type Path = List[Pos]    // a path...a list of positions
 
-//(1) Complete the function that tests whether the position x
-//    is inside the board and not yet element in the path.
+// ADD YOUR CODE BELOW
+//======================
 
+
+
+//(1) 
 def is_legal(dim: Int, path: Path, x: Pos) : Boolean = ???
 
 
-
-//(2) Complete the function that calculates for a position x
-//    all legal onward moves that are not already in the path. 
-//    The moves should be ordered in a "clockwise" manner.
- 
+//(2) 
 def legal_moves(dim: Int, path: Path, x: Pos) : List[Pos] = ???
 
 
@@ -38,21 +35,12 @@
 //assert(legal_moves(8, List((6,6)), (7,7)) == List((6,5), (5,6)))
 
 
-//(3) Complete the two recursive functions below. 
-//    They exhaustively search for knight's tours starting from the 
-//    given path. The first function counts all possible tours, 
-//    and the second collects all tours in a list of paths.
-
+// (3) 
 def count_tours(dim: Int, path: Path) : Int = ???
 
 def enum_tours(dim: Int, path: Path) : List[Path] = ???
 
-
-//(4) Implement a first-function that finds the first 
-//    element, say x, in the list xs where f is not None. 
-//    In that case Return f(x), otherwise None. If possible,
-//    calculate f(x) only once.
-
+// (4) 
 def first(xs: List[Pos], f: Pos => Option[Path]) : Option[Path] = ???
 
 
@@ -64,10 +52,7 @@
 //first(List((1, 0),(2, 0),(3, 0)), foo)          // None
 
 
-//(5) Implement a function that uses the first-function from (4) for
-//    trying out onward moves, and searches recursively for a
-//    knight tour on a dim * dim-board.
-
+//(5) 
 def first_tour(dim: Int, path: Path) : Option[Path] = ???