public Figure(FiguresNames figureName, FigureColors figureColor, Coordinates[] coordinates) { FigureName = figureName; FigureColor = figureColor; Position = FigurePositions.First; CoordinatesArr = coordinates; }
/// <summary> /// Создать фигуру /// </summary> /// <param name="name"></param> /// <param name="color"></param> /// <returns></returns> public static Figure CreateFigure(FiguresNames name) { Coordinates[] coordinatesArr = new Coordinates[COORD_COUNT]; FigureColors color = FigureColors.Null; int coordX = rand.Next(2, 8); // (2 - 7) Диапазон генерации начальной основной координаты оси Х switch (name) { case FiguresNames.J: coordinatesArr = CreateJ(coordinatesArr, coordX, START_MAIN_COORD_Y); color = FigureColors.Blue; break; case FiguresNames.I: coordinatesArr = CreateI(coordinatesArr, coordX, START_MAIN_COORD_Y); color = FigureColors.Green; break; case FiguresNames.O: coordinatesArr = CreateO(coordinatesArr, coordX, START_MAIN_COORD_Y); color = FigureColors.Indigo; break; case FiguresNames.L: coordinatesArr = CreateL(coordinatesArr, coordX, START_MAIN_COORD_Y); color = FigureColors.Maroon; break; case FiguresNames.Z: coordinatesArr = CreateZ(coordinatesArr, coordX, START_MAIN_COORD_Y); color = FigureColors.Red; break; case FiguresNames.T: coordinatesArr = CreateT(coordinatesArr, coordX, START_MAIN_COORD_Y); color = FigureColors.Orange; break; case FiguresNames.S: coordinatesArr = CreateS(coordinatesArr, coordX, START_MAIN_COORD_Y); color = FigureColors.Purple; break; } Figure figure = new Figure(name, color, coordinatesArr); return(figure); }
/// <summary> /// Создать координаты следующей фигуры /// </summary> /// <param name="name"></param> /// <returns></returns> public static Coordinates[] CreateCoordinatesForPlNextFigure(FiguresNames name, out FigureColors color) { Coordinates[] coordinatesArr = new Coordinates[COORD_COUNT]; color = FigureColors.Null; const int START_COORD_X = 1; const int START_COORD_Y = 1; switch (name) { case FiguresNames.J: coordinatesArr = CreateJ(coordinatesArr, START_COORD_X, START_COORD_Y); color = FigureColors.Blue; break; case FiguresNames.I: coordinatesArr = CreateI(coordinatesArr, START_COORD_X, START_COORD_Y); color = FigureColors.Green; break; case FiguresNames.O: coordinatesArr = CreateO(coordinatesArr, START_COORD_X, START_COORD_Y); color = FigureColors.Indigo; break; case FiguresNames.L: coordinatesArr = CreateL(coordinatesArr, START_COORD_X, START_COORD_Y); color = FigureColors.Maroon; break; case FiguresNames.Z: coordinatesArr = CreateZ(coordinatesArr, START_COORD_X, START_COORD_Y); color = FigureColors.Red; break; case FiguresNames.T: coordinatesArr = CreateT(coordinatesArr, START_COORD_X, START_COORD_Y); color = FigureColors.Orange; break; case FiguresNames.S: coordinatesArr = CreateS(coordinatesArr, START_COORD_X, START_COORD_Y); color = FigureColors.Purple; break; } return(coordinatesArr); }
/// <summary> /// Сгенерировать название и цвет фигуры /// </summary> private void GenerateFigureParameters() { figureName = Figure.GenerateName(); }
public static FiguresNames GenerateName() { FiguresNames name = (FiguresNames)rand.Next(FIGURES_COUNT); return(name); }