// Generate a new column of tiles, starting with the given sprite
 void MakeNewColumn(Sprite next)
 {
     nextPosition.x += 2;
     if (next.name == "blank")
     {
         if (gapLength == maxGap)
         {
             next      = verticalUp[0];
             gapLength = 0;
         }
         else
         {
             gapLength++;
         }
     }
     nextTile           = InstantiateTile(next, nextPosition);
     nextColumnTile     = nextTile;
     nextColumnPosition = nextPosition;
     AddFood(nextTile.transform.position);
     if (nextTile.name != "blank")
     {
         GameEventManager.AddNewColumn(nextTile.transform.position);
     }
     for (int i = 0; i < numberOfTilesY; i++)
     {
         nextColumnPosition.y -= 2;
         nextColumnTile        = InstantiateTile(TileFromDistribution(belowDistributions[nextColumnTile.name]), nextColumnPosition);
         if (IsDeadEnd(nextTile))
         {
             nextTile     = nextColumnTile;
             nextPosition = nextColumnPosition;
         }
     }
 }