Knight's tour: Difference between revisions

Content added Content deleted
Line 8,289: Line 8,289:
=={{header|ObjectIcon}}==
=={{header|ObjectIcon}}==
{{trans|ATS}}
{{trans|ATS}}
<lang objecticon># -*- ObjectIcon -*-
<lang objecticon>#

#
# Find Knight’s Tours.
# Find Knight’s Tours.
#
#
Line 8,339: Line 8,337:
every tour_board := tours.generate(i, j, closed_only) do {
every tour_board := tours.generate(i, j, closed_only) do {
n_tour +:= 1
n_tour +:= 1
write("Tour number ", n_tour, ":")
write("Tour number ", n_tour)
f_out.write(tour_board.make_moves_display())
f_out.write(tour_board.make_moves_display())
f_out.write(tour_board.make_board_display())
f_out.write(tour_board.make_board_display())
Line 8,346: Line 8,344:
break
break
}
}
end

procedure usage_error()
write("Usage: ", &progname, " POSITION [MAX_TOURS=1 [closed]]")
write("Examples: ")
write(" ", &progname, " a1")
write(" ", &progname, " c5 2")
write(" ", &progname, " e3 200 closed")
exit(0)
end
end


Line 8,660: Line 8,649:
{{out}}
{{out}}
$ ./knights_tour c5 2 closed
$ ./knights_tour c5 2 closed
<pre>Tour number 1:
<pre>Tour number 1
c5 -> a6 -> b8 -> d7 -> f8 -> h7 -> g5 -> h3 ->
c5 -> a6 -> b8 -> d7 -> f8 -> h7 -> g5 -> h3 ->
g1 -> e2 -> c1 -> a2 -> b4 -> d3 -> e1 -> g2 ->
g1 -> e2 -> c1 -> a2 -> b4 -> d3 -> e1 -> g2 ->
Line 8,688: Line 8,677:
a b c d e f g h
a b c d e f g h


Tour number 2:
Tour number 2
c5 -> a6 -> b8 -> d7 -> f8 -> h7 -> g5 -> h3 ->
c5 -> a6 -> b8 -> d7 -> f8 -> h7 -> g5 -> h3 ->
g1 -> e2 -> c1 -> a2 -> b4 -> d3 -> e1 -> g2 ->
g1 -> e2 -> c1 -> a2 -> b4 -> d3 -> e1 -> g2 ->