Beispiel #1
0
        /// <summary>
        /// Располагает фигуры в соответствии с найденным решением
        /// </summary>
        /// <param name="data">Список фигур</param>
        /// <param name="res">Найденное решение</param>
        /// <param name="width">Ширина холста</param>
        /// <param name="height">Высота холста</param>
        /// <param name="color">Цвета фигур</param>
        /// <returns>Изображение расположенных фигур</returns>
        private static Bitmap GetResultBitmap(List <Figure> data, ResultData res, int width, int height, List <Color> color)
        {
            Bitmap b = new Bitmap(width, height);

            for (int i = 0; i < res.answer.Count; i++)
            {
                ResultFigPos        figPos  = res.answer[i];
                Figure              figData = data[i];
                DeltaRepresentation solutionFigWithoutScaling;

                if (figPos.angle == 0)
                {
                    solutionFigWithoutScaling = figData.noScaling;
                }
                else
                {
                    solutionFigWithoutScaling = figData.noScaling.GetTurnedDelta((int)figPos.angle);
                }


                PlaceDeltasOnABitmap(b, solutionFigWithoutScaling.deltas, figPos.xCenter, figPos.yCenter, color[i]);
            }
            return(b);
        }
Beispiel #2
0
        /*
         * [Лист%номер%
         *  [%имя фигуры%  %х% %у% %угол поворота%]
         * ]
         */


        /// <summary>
        /// Генерирует текстовую строку для одной фигуры
        /// </summary>
        private static string GetOneFigureResult(Figure curFig, ResultFigPos res)
        {
            return('[' + curFig.name + ' ' + res.xCenter + ' ' + res.yCenter + ' ' + res.angle + ']');
        }