move-entire-cell ( board start dest -- board )


Vocabulary
gamelib.board

Inputs
boardan object
startan object
destan object


Outputs
boardan object


Definition


:: move-entire-cell ( board start dest -- board )
{ start dest } [ first board width>> < ] all?
{ start dest } [ second board height>> < ] all? and start
[ 0 >= ] all? and dest [ 0 >= ] all? and
[ board start dest duplicate-cell start delete-cell drop ]
when board ;