6 def move!(src, dst, path, opts = {})
7 piece = board.move_item(src, dst)
8 src = nil if opts[:adjust]
9 movement(piece, src, dst, path)
12 def disappear_on!(p, opts = {})
13 name = "disappear on #{p}"
15 instant_disappear p, name
17 item = board.remove_item(p, :keep)
22 def appear_on!(p, piece, opts = {})
23 name = "appear #{piece} on #{p}"
25 instant_appear p, piece, name
27 item = board.add_piece p, piece, :hidden => true
32 def morph_on!(p, piece, opts = {})
33 name = "morph to #{piece} on #{p}"
35 instant_appear p, piece, name
37 old_item = board.remove_item(p, :keep)
38 new_item = board.add_piece p, piece, :hidden => true
39 group appear(new_item, name + " (appear)"),
40 disappear(old_item, name + " (disappear)")