Fix erroneous calculation bug by adding a lock to movement until the board array has the newest calculation.