Exemple #1
0
        public IBoard Create(int size_x, int size_y)
        {
            figureItemsRandomInstancer = new DefaultFigureItemsInstancer();

            IFigureItem[,] figureItemsTable = new IFigureItem[size_x, size_y];

            for (int i = 0; i < size_x; i++)
            {
                for (int j = 0; j < size_y; j++)
                {
                    figureItemsTable[i, j] = figureItemsRandomInstancer.InstantiateItem();
                }
            }

            CheckForMatches(figureItemsTable);

            Queue <IFigureItem>[] figureItemBuffers = new Queue <IFigureItem> [size_x];
            for (int i = 0; i < size_x; i++)
            {
                figureItemBuffers[i] = new Queue <IFigureItem>();
                for (int j = 0; j < size_y; j++)
                {
                    figureItemBuffers[i].Enqueue(figureItemsRandomInstancer.InstantiateItem());
                }
            }

            return(new DefaultBoard(figureItemsTable, figureItemBuffers));
        }
 public DefaultGameSession(IBoard board, IFigureItemsInstancer figureItemsInstancer)
 {
     Board = board;
     FigureItemsInstancer = figureItemsInstancer;
     Moves = new Queue <string>();
 }
 public IGameSession Create(IBoard board, IFigureItemsInstancer figureItemsInstancer)
 {
     return(new DefaultGameSession(board, figureItemsInstancer));
 }