public ActionResult Display(WordSearchIndexModel wordSearchIndexModel)
        {
            // ToDo - this should go in a service
            IRandomNumberService  randomNumberService  = new RandomNumberService();
            IWordPlacementService wordPlacementService = new WordPlacementService(randomNumberService);

            var wordSearchGrid = new WordSearchGrid(wordSearchIndexModel.Rows,
                                                    wordSearchIndexModel.Columns,
                                                    wordPlacementService,
                                                    randomNumberService);

            wordSearchIndexModel.Words
            .Where(w => !string.IsNullOrEmpty(w))
            .ToList()
            .ForEach(a => wordSearchGrid.AddHiddenWord(a));

            wordSearchGrid.FillEmptySpaces();

            var wordSearchDisplayModel = new WordSearchDisplayModel(wordSearchIndexModel);
            var grid        = wordSearchGrid.Grid;
            var hiddenWords = wordSearchGrid.HiddenWords;

            wordSearchDisplayModel.Grid        = grid;
            wordSearchDisplayModel.HiddenWords = hiddenWords;

            return(View(wordSearchDisplayModel));
        }
예제 #2
0
        private void buttonCreateGrid_Click(object sender, EventArgs e)
        {
            IRandomNumberService  randomNumberService  = new RandomNumberService();
            IWordPlacementService wordPlacementService = new WordPlacementService(randomNumberService);

            var wordSearchGrid = new WordSearchGrid(20, 20, wordPlacementService, randomNumberService);

            wordSearchGrid.AddHiddenWord("word");
            wordSearchGrid.AddHiddenWord("search");
            wordSearchGrid.AddHiddenWord("reallylongword");
            wordSearchGrid.AddHiddenWord("anotherlongone");
            wordSearchGrid.AddHiddenWord("today");
            wordSearchGrid.AddHiddenWord("yesterday");

            var grid        = wordSearchGrid.Grid;
            var hiddenWords = wordSearchGrid.HiddenWords;

            var rows = grid.GetUpperBound(0);   // 0 based
            var cols = grid.GetUpperBound(1);

            // wordSearchGrid.FillEmptySpaces();
            labelGrid.Text = wordSearchGrid.ToString();
        }