19 val indexes = (0 to 8).toList |
19 val indexes = (0 to 8).toList |
20 |
20 |
21 |
21 |
22 def empty(game: String) = game.indexOf(emptyValue) |
22 def empty(game: String) = game.indexOf(emptyValue) |
23 def isDone(game: String) = empty(game) == -1 |
23 def isDone(game: String) = empty(game) == -1 |
|
24 |
24 //def emptyPosition(game: String) : Pos = |
25 //def emptyPosition(game: String) : Pos = |
25 // (empty(game) % maxValue, empty(game) / maxValue) |
26 // (empty(game) % maxValue, empty(game) / maxValue) |
|
27 |
26 def emptyPosition(game: String) = { |
28 def emptyPosition(game: String) = { |
27 val e = empty(game) |
29 val e = empty(game) |
28 (e % maxValue, e / maxValue) |
30 (e % maxValue, e / maxValue) |
29 } |
31 } |
30 |
32 |
80 "48.3............71.2.......7.5....6....2..8.............1.76...3.....4......5....", |
82 "48.3............71.2.......7.5....6....2..8.............1.76...3.....4......5....", |
81 "......52..8.4......3...9...5.1...6..2..7........3.....6...1..........7.4.......3.", |
83 "......52..8.4......3...9...5.1...6..2..7........3.....6...1..........7.4.......3.", |
82 "6.2.5.........3.4..........43...8....1....2........7..5..27...........81...6.....", |
84 "6.2.5.........3.4..........43...8....1....2........7..5..27...........81...6.....", |
83 ".524.........7.1..............8.2...3.....6...9.5.....1.6.3...........897........", |
85 ".524.........7.1..............8.2...3.....6...9.5.....1.6.3...........897........", |
84 "6.2.5.........4.3..........43...8....1....2........7..5..27...........81...6.....", |
86 "6.2.5.........4.3..........43...8....1....2........7..5..27...........81...6.....", |
85 ".923.........8.1...........1.7.4...........658.........6.5.2...4.....7.....9.....") |
87 ".923.........8.1...........1.7.4...........658.........6.5.2...4.....7.....9.....", |
86 /* |
|
87 "85...24..72......9..4.........1.7..23.5...9...4...........8..7..17..........36.4.", |
88 "85...24..72......9..4.........1.7..23.5...9...4...........8..7..17..........36.4.", |
88 "..53.....8......2..7..1.5..4....53...1..7...6..32...8..6.5....9..4....3......97..", |
89 "..53.....8......2..7..1.5..4....53...1..7...6..32...8..6.5....9..4....3......97..", |
89 "12..4......5.69.1...9...5.........7.7...52.9..3......2.9.6...5.4..9..8.1..3...9.4", |
90 "12..4......5.69.1...9...5.........7.7...52.9..3......2.9.6...5.4..9..8.1..3...9.4", |
90 "...57..3.1......2.7...234......8...4..7..4...49....6.5.42...3.....7..9....18.....", |
91 "...57..3.1......2.7...234......8...4..7..4...49....6.5.42...3.....7..9....18.....", |
91 "7..1523........92....3.....1....47.8.......6............9...5.6.4.9.7...8....6.1.", |
92 "7..1523........92....3.....1....47.8.......6............9...5.6.4.9.7...8....6.1.", |
185 ".5..9....1.....6.....3.8.....8.4...9514.......3....2..........4.8...6..77..15..6.", |
186 ".5..9....1.....6.....3.8.....8.4...9514.......3....2..........4.8...6..77..15..6.", |
186 ".....2.......7...17..3...9.8..7......2.89.6...13..6....9..5.824.....891..........", |
187 ".....2.......7...17..3...9.8..7......2.89.6...13..6....9..5.824.....891..........", |
187 "3...8.......7....51..............36...2..4....7...........6.13..452...........8..", |
188 "3...8.......7....51..............36...2..4....7...........6.13..452...........8..", |
188 "....14....3....2...7..........9...3.6.1.............8.2.....1.4....5.6.....7.8...", |
189 "....14....3....2...7..........9...3.6.1.............8.2.....1.4....5.6.....7.8...", |
189 "4.....8.5.3..........7......2.....6.....8.4......1.......6.3.7.5..2.....1.4......") |
190 "4.....8.5.3..........7......2.....6.....8.4......1.......6.3.7.5..2.....1.4......") |
190 */ |
191 |
191 //println("108:\n" ++ pretty(hard_games(108).replaceAll("\\.", " ")) ++ "\n") |
192 //println("108:\n" ++ pretty(hard_games(108).replaceAll("\\.", " ")) ++ "\n") |
192 //println("109:\n" ++ pretty(hard_games(109).replaceAll("\\.", " ")) ++ "\n") |
193 //println("109:\n" ++ pretty(hard_games(109).replaceAll("\\.", " ")) ++ "\n") |
193 |
194 |
194 |
195 |
195 // for measuring time |
196 // for measuring time |