public IFigure RandomFigure() { var rnd = new Random(); int patternNumber = rnd.Next(7); Pattern randomFigurePattern = new PatternLibrary().Patterns[patternNumber]; var randomFigure = new Figure(); randomFigure.RotationNumber = rnd.Next(4); randomFigure.Pattern = randomFigurePattern; return randomFigure; }
public void PeekNextRotation_Should_Return_TetrisCup_With_Next_Rotation() { var figure = new Figure(); figure.Pattern = new PatternLibrary().Patterns[1]; figure.RotationNumber = 3; var expectedCup = new PatternLibrary().Patterns[1].Rotations[0]; var actualCup = figure.PeekNextRotation(); //сравнение чашек if ((actualCup.Width == expectedCup.Width) && (actualCup.Height == expectedCup.Height)) { for (int x=0; x<actualCup.Width; x++) for (int y=0; y<actualCup.Height; y++) if (actualCup.GetColorOfPoint(new Point(x, y)) != expectedCup.GetColorOfPoint(new Point(x,y))) throw new Exception(); } }
public ActionResult Header(bool?hideControls, bool?hidePatternInfoControl, bool?useRazor) { var patterns = new PatternLibrary(); var path = Server.MapPath(useRazor.GetValueOrDefault() ? Constants.RazorPatternViewsPath : Constants.StaticPatternViewsPath); foreach (var dirPath in Directory.EnumerateDirectories(path)) { var pattern = new Pattern(dirPath, path); GetPatternsFromDir(pattern, useRazor.GetValueOrDefault()); patterns.Add(pattern); } ViewBag.HideControls = hideControls; ViewBag.HidePatternInfoControl = hidePatternInfoControl; ViewBag.UseRazor = useRazor; return(PartialView(ViewTemplate("Partials/_Header"), patterns)); }