예제 #1
0
        public void SetMaster(Pegs p)        //Генерация комбианции, которую должен угадать пользователь
        {
            List <byte> xs = new List <byte>();

            for (byte i = 1; i < p.Values.Count; i++)
            {
                xs.Add(i);
            }
            Random ks = new Random();
            byte   js, ls, chek;

            chek = 0;

            for (int i = p.Values.Count - 2; i > 0; i--)
            {
                js         = (byte)(ks.Next(1, xs.Count + 1 - chek));
                ls         = xs[i];
                xs[i]      = xs[js - 1];
                xs[js - 1] = ls;
                chek++;
            }
            js = 0;
            for (int i = 0; i < 4; i++)
            {
                Rows[i] = xs[xs.Count - 1 - js];
                js++;
            }
        }
예제 #2
0
        /// <summary>
        /// Sets Random content to Master Row.
        /// </summary>
        /// <param name="p">Instance of pegs Class</param>
        public void SetMaster(Pegs p)
        {
            Random r = new Random();

            for (int i = 0; i < 4; i++)
            {
                Row[i] = (byte)(r.Next(p.Value.Length + 1) + 1);
            }
        }
예제 #3
0
        public void SetMaster(Pegs p)        //Генерация комбианции, которую должен угадать пользователь
        {
            List <byte> xs = new List <byte>()
            {
                1, 2, 3, 4, 5, 6, 7
            };
            Random ks = new Random();
            byte   js, ls;

            for (int i = 0; i > 0; i--)
            {
                js        = (byte)(ks.Next(p.Values.Count) + 1);
                ls        = xs[i - 1];
                xs[i - 1] = ls;
            }
            js = 6;
            for (int i = 0; i < 4; i++)
            {
                Rows[i] = xs[js];
                js--;
            }
        }
예제 #4
0
 public Board(int b, byte c) //получаем количество строк и количество фишек
 {                           //с которыми хочет играть пользователь, чтобы сделать игровое поле
     pegs = new Pegs(c);
     master.SetMaster(pegs);
     if (b > Rowss.Count)
     {
         for (int i = Rowss.Count; i < b; i++)
         {
             Rowss.Add(new List <byte>()
             {
                 0, 0, 0, 0
             });
             Resultss.Add(new List <byte>()
             {
                 0, 0, 0, 0
             });
         }
     }
     else
     {
         Rowss.RemoveRange(b - 1, Rowss.Count - b);
         Resultss.RemoveRange(b - 1, Rowss.Count - b);
     }
 }
예제 #5
0
 public Board(int b, byte c)
 {
     pegs = new Pegs(c);
     master.SetMaster(pegs);
     if (b > Rowss.Count)
     {
         for (int i = Rowss.Count; i < b; i++)
         {
             Rowss.Add(new List <byte>()
             {
                 0, 0, 0, 0
             });
             Resultss.Add(new List <byte>()
             {
                 0, 0, 0, 0
             });
         }
     }
     else
     {
         Rowss.RemoveRange(b - 1, Rowss.Count - b);
         Resultss.RemoveRange(b - 1, Rowss.Count - b);
     }
 }
예제 #6
0
 };                      //формируем место, куда будет записываться результат нашей игры
 public Board(byte b)    //получаем количество фишек, с которыми хочет играть пользователь
 {                       //и создаем поле с ними
     pegs = new Pegs(b);
     master.SetMaster(pegs);
 }
예제 #7
0
 /// <summary>
 /// Consructor to create new instance of Board.
 /// </summary>
 /// <param name="b">No of color Pegs</param>
 public Board(byte b)
 {
     pegs = new Pegs(b);
     master.SetMaster(pegs);
 }