示例#1
0
        public void CreateRandomBricks()
        {
            mapPercolation = new Percolation(Width, Height);
            Random r = new Random();

            for (int i = 0; i < Width; i++)
            {
                for (int j = 0; j < Height; j++)
                {
                    if (Blocks[i, j].Preserved)
                    {
                        mapPercolation.Open(i, j);
                        continue;
                    }
                    Blocks[i, j].Pattern = Pattern.Clear;
                    int randomNumber = r.Next(1, 100);
                    if (randomNumber % 3 == 0)
                    {
                        Blocks[i, j].Pattern = Pattern.Brick;
                    }
                    else
                    {
                        mapPercolation.Open(i, j);
                    }
                }
            }
        }
示例#2
0
 public void VerifyPercolationWith3By3Matrix()
 {
     percolation3.Open(1, 2);
     Assert.AreEqual(false, percolation3.Percolates());
     percolation3.Open(2, 2);
     Assert.AreEqual(false, percolation3.Percolates());
     percolation3.Open(3, 1);
     Assert.AreEqual(false, percolation3.Percolates());
     percolation3.Open(2, 1);
     Assert.AreEqual(true, percolation3.Percolates());
 }
示例#3
0
 public void VerifyPercolationWith6By6Matrix()
 {
     percolation6.Open(1, 1);
     Assert.AreEqual(false, percolation6.Percolates());
     percolation6.Open(2, 1);
     Assert.AreEqual(false, percolation6.Percolates());
     percolation6.Open(3, 1);
     Assert.AreEqual(false, percolation6.Percolates());
     percolation6.Open(4, 1);
     Assert.AreEqual(false, percolation6.Percolates());
     percolation6.Open(5, 1);
     Assert.AreEqual(false, percolation6.Percolates());
     percolation6.Open(6, 1);
     Assert.AreEqual(true, percolation6.Percolates());
 }