Пример #1
0
        public ICard CreateCard(IGameDataSetting gameDataSetting)
        {
            var columnNumbers = gameDataSetting.GetCardData().GetColumnNumber();
            var rowNumbers    = gameDataSetting.GetCardData().GetRowNumber();
            var cardBoard     = new string[columnNumbers, rowNumbers];

            return(new Card(cardBoard));
        }
        public CardPrototypeFactory(IGameDataSetting gameDataSetting)
        {
            this.gameDataSetting = gameDataSetting;
            var columnNumber = gameDataSetting.GetCardData().GetColumnNumber();
            var dictionary   = new RangeDictionaryFactory().CreateRangeDictionary(columnNumber);

            cardPrototype = new CardPrototype(new ColumnRangeGetter(dictionary), gameDataSetting);
        }
        public ICard InjectSpace(ICard card, IGameDataSetting gameDataSetting)
        {
            var rowNumber      = gameDataSetting.GetCardData().GetRowNumber();
            var columnNumber   = gameDataSetting.GetCardData().GetColumnNumber();
            var spacesInjector = new CardSpacesFiller(card);

            for (int i = 0; i < rowNumber; i++)
            {
                var columnPositions = generator.GenerateDistinctRandomNumbers(new Range(1, columnNumber), 4);
                spacesInjector.FillData(columnPositions, i);
            }

            return(card);
        }
        public ICard InjectSpace(ICard card, IGameDataSetting gameDataSetting)
        {
            var columnNumber = gameDataSetting.GetCardData().GetColumnNumber();
            var rowNumber    = gameDataSetting.GetCardData().GetRowNumber();

            decimal columnDivision = columnNumber / 2;
            decimal rowDivision    = rowNumber / 2;

            var middleColumn = Math.Floor(columnDivision);
            var middleRow    = Math.Floor(rowDivision);
            var cardBoard    = card.GetCardBoard();

            cardBoard[decimal.ToInt32(middleColumn), decimal.ToInt32(middleRow)] = " * ";

            return(card);
        }
Пример #5
0
 public CardPrototype(IColumnRangeGetter columnRangeGetter, IGameDataSetting gameDataSetting)
 {
     this.gameDataSetting   = gameDataSetting;
     this.columnRangeGetter = columnRangeGetter;
     randomNumbersGenerator = new RandomNumbersGenerator();
 }
Пример #6
0
 public CardPackage(IGameDataSetting gameDataSetting)
 {
     this.gameDataSetting = gameDataSetting;
     cards = new List <ICard>();
 }