示例#1
0
        public static Board FromIBoardSource(IBoardSource source)
        {
            //update game settings
            GameSettings.Rows = source.Rows;
            GameSettings.Columns = source.Columns;
            Board board = new Board();
            foreach (Piece piece in source.GetPiecesForBoard())
            {
                board[piece.Row, piece.Column] = piece;
            }
            board.SaveBoard();

            return board;
        }
示例#2
0
 private static Board CreateRandomBoard(int? rowMissing, int? colMissing)
 {
     Board output = new Board();
     MersenneTwister rng = RandomSource.Instance;
     for (int i = 0; i < GameSettings.Rows; i++)
     {
         if (i == rowMissing)
         {
             continue;
         }
         for (int j = 0; j < GameSettings.Columns; j++)
         {
             if (j == colMissing)
             {
                 continue;
             }
             bool isDouble = (rng.NextDoublePositive() < 0.05) ? true : false;
             bool isBomb = (!isDouble && rng.NextDoublePositive() < 0.05) ? true : false;
             output[i, j] = new Piece(i, j, rng.Next(1, 6), isBomb, isDouble);
         }
     }
     output.SaveBoard();
     return output;
 }