while @NumberOfChutes > 0
begin
delete from @RandomizedCells;
insert into @RandomizedCells (Random, CellId, GoToCell)
select
[Random] = cast(newid() as varchar(50)),
CellId,
GoToCell
from @Board;
set @CurrentCell = (select top 1 CellId from @RandomizedCells where GoToCell is null order by Random);
set @GoToCell = (select top 1 CellId from @RandomizedCells where GoToCell is null and CellId < @CurrentCell order by Random);
update @Board