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)); }