Esempio n. 1
0
        public LightsGrid Click(LightsGrid lightsGrid, int x, int y)
        {
            // TODO: move to LightsValidator
            if (x > lightsGrid.Lights.Count - 1 ||
                y > lightsGrid.Lights.Count - 1)
            {
                throw new ApplicationException();
            }

            return(_helper.Click(lightsGrid, x, y));
        }
Esempio n. 2
0
        public LightsGrid PopulateSolvableState(LightsGrid lightsGrid)
        {
            var retVal = lightsGrid;

            var step   = 0;
            var random = new Random();

            do
            {
                var x = random.Next(0, lightsGrid.Lights.Count - 1);
                var y = random.Next(0, lightsGrid.Lights.Count - 1);
                retVal = _helper.Click(retVal, x, y);
                step++;
            }while (step < 100 && // loop at least 100 times
                    AnyLightOn(lightsGrid)); // make sure that any light in state on

            return(retVal);
        }