6 def move!(src, dst, path)
7 piece = board.move_item(src, dst)
8 movement(piece, src, dst, path)
11 def disappear_on!(p, opts = {})
12 name = "disappear on #{p}"
14 instant_disappear p, name
16 item = board.remove_item(p, :keep)
21 def appear_on!(p, piece, opts = {})
22 name = "appear #{piece} on #{p}"
24 instant_appear p, piece, name
26 item = board.add_piece p, piece, :hidden => true
31 def morph_on!(p, piece, opts = {})
32 name = "morph to #{piece} on #{p}"
34 instant_appear p, piece, name
36 old_item = board.remove_item(p, :keep)
37 new_item = board.add_piece p, piece, :hidden => true
38 group appear(new_item, name + " (appear)"),
39 disappear(old_item, name + " (disappear)")