implemented grid of size n
This commit is contained in:
parent
7141534e9f
commit
9d6b1f767e
@ -48,6 +48,6 @@ trait GraphicsDisplay extends Displayable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
win.syncGameLogic(5)
|
win.syncGameLogic(60)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,7 @@ package magic_squares
|
|||||||
abstract class MagicSquareSolver(initialGrid: Grid) extends Displayable {
|
abstract class MagicSquareSolver(initialGrid: Grid) extends Displayable {
|
||||||
protected var _initial: Grid = initialGrid
|
protected var _initial: Grid = initialGrid
|
||||||
protected val _size: Int = _initial.length
|
protected val _size: Int = _initial.length
|
||||||
protected val SUM: Int = 15
|
protected val SUM: Int = _size * (_size * _size + 1) / 2
|
||||||
protected val DEBUG: Boolean = false
|
protected val DEBUG: Boolean = false
|
||||||
|
|
||||||
protected def print(grid: Grid): Unit = {
|
protected def print(grid: Grid): Unit = {
|
||||||
@ -38,7 +38,7 @@ abstract class MagicSquareSolver(initialGrid: Grid) extends Displayable {
|
|||||||
return Some(grid)
|
return Some(grid)
|
||||||
}
|
}
|
||||||
var values: Array[Int] = Array(_initial(y)(x))
|
var values: Array[Int] = Array(_initial(y)(x))
|
||||||
if (values(0) == 0) values = (1 to 9).toArray
|
if (values(0) == 0) values = (1 to _size * _size).toArray
|
||||||
if (DEBUG) println(s" Values to test: " + values.mkString("[", ", ", "]"))
|
if (DEBUG) println(s" Values to test: " + values.mkString("[", ", ", "]"))
|
||||||
|
|
||||||
val newGrid: Grid = copy(grid)
|
val newGrid: Grid = copy(grid)
|
||||||
@ -143,5 +143,14 @@ object MagicSquareSolver {
|
|||||||
3,5,7
|
3,5,7
|
||||||
8,1,6
|
8,1,6
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
val solver4: MagicSquareSolver = new MagicSquareSolver(Array(
|
||||||
|
Array(11, 0, 0, 20, 3),
|
||||||
|
Array(4, 12, 0, 0, 16),
|
||||||
|
Array(0, 5, 13, 21, 9),
|
||||||
|
Array(10, 0, 0, 14, 22),
|
||||||
|
Array(23, 6, 19, 2, 0),
|
||||||
|
)) with GraphicsDisplay
|
||||||
|
solver4.solve()
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user