예제 #1
0
파일: Board.cs 프로젝트: tpsa/pwsg
 public Board(game Tg, string FileName)
 {
     g = Tg;
     r = new Random((int)DateTime.Now.Ticks);
     LoadFromFile(FileName);
     GenerateRandomBoard(DateTime.Now.Millisecond); // TODO zamienić 666 na coś innego (seed)
     Bonuses[2, 3] = new Moneta(g);
     Fields[2, 4] = new Bomba(g);
     if (Fields.GetLength(0) != Bonuses.GetLength(0))
         throw new Exception ("Wymiary szerokości plansz nie zgadzają się");
     if (Fields.GetLength(1) != Bonuses.GetLength(1))
         throw new Exception ("Wymiary wysokości plansz nie zgadzają się");
 }
예제 #2
0
파일: Board.cs 프로젝트: tpsa/pwsg
        public bool GenerateRandomBoard(double Seed)
        {
            // przelecieć się po polach wolnych i dla poszczególnych prawdopdobieństw
            // polosować bonusy
            for (int i = 0; i < Fields.GetLength(0); i++)
                for (int j = 0; j < Fields.GetLength(1); j++)
                {
                    if (Fields[i, j] is Korytarz && Bonuses[i,j] == null)
                    {
                        int los = r.Next() % 100;
                        if (los < 5)
                        {
                            // pojawia się nowy bonus
                            int los2 = r.Next() % 100;
                            if (los2 < 10)
                            {
                                Bonuses[i, j] = new Moneta(g);
                                continue;
                            }
                            if (los2 < 20)
                            {
                                Bonuses[i, j] = new Ogien(g);
                                continue;
                            }
                            if (los2 < 30)
                            {
                                Bonuses[i, j] = new Serce(g);
                                continue;
                            }
                            if (los2 < 40)
                            {
                                Bonuses[i, j] = new Wrotki(g);
                                continue;
                            }
                            if (los2 < 50)
                            {
                                Bonuses[i, j] = new Zegar(g);
                            }
                        }
                    }
                }

            return false;
            //throw new NotImplementedException();
        }