Exemple #1
0
 public void RemoveLeft()
 {
     if (CubesLeft.Count != 0)
     {
         CubesLeft.Dequeue();
     }
 }
Exemple #2
0
        public void TryToAddCube()
        {
            Random rnd   = new Random();
            bool   left  = CheckLastLeft();
            bool   right = CheckLastRight();

            int prob = rnd.Next(100);

            // Try to add cubes in both queues.
            if (left && right)
            {
                int doubleProb = rnd.Next(100);
                if (doubleProb < 5) // 30
                {
                    Cube cube = new Cube();
                    CubesLeft.Enqueue(cube);
                    LastCubeTimeLeft = cube.TimeStamp;

                    cube = new Cube();
                    CubesRight.Enqueue(cube);
                    LastCubeTimeRight = cube.TimeStamp;
                    return;
                }
            }
            // Add a cube in one of the queues.
            if (prob < 7) // 45
            {
                if (prob < 3 && left)
                {
                    Cube cube = new Cube();
                    CubesLeft.Enqueue(cube);
                    LastCubeTimeLeft = cube.TimeStamp;
                }

                else if (right)
                {
                    Cube cube = new Cube();
                    CubesRight.Enqueue(cube);
                    LastCubeTimeRight = cube.TimeStamp;
                }
            }
        }