Содержание
- Формирование структуры разрабатываемого объекта
- Анализ и формирование требований к разрабатываемому объекту и его составным частям
- Разработка классов
- Класс «Ячейка»
- Класс «Матрица»
- Класс справочной формы
- Класс «Сериализация»
- Класс главной формы
- Исходный вид программы
- Рекомендации
- Заключение
Анализ объектов (отрывок)
Объект «Ячейка»
Данные:
- Положение;
- Длина и ширина;
- Цвет контура и закраски;
- Толщина контура;
- Текст;
- Шрифт текста;
- Размер и цвет текста;
Функции:
- Рисование;
- Изменение длины и ширины;
- Изменение цвета контура и закраски;
- Изменение толщины контура;
- Изменение текста;
- Изменение размера текста;
- Изменение цвета текста;
- Проверка попадания курсора в объект;
Объект «Матрица»
Данные:
- Положение;
- Двумерный массив объектов типа «Ячейка»;
- Двумерный массив чисел;
Функции:
- Рисование;
- Заполнение случайными числами;
- Изменение элемента;
- Проверка попадания курсора в один из объектов;
- Умножение матрицы на число;
- Деление матрицы на число;
- Сложение и вычитание матриц;
- Умножение матриц;
- Транспонирование матрицы;
Отрывок программного кода
Класс «Ячейка»
[Serializable]//необходимо для сериализации объекта class Cell { public Rectangle Rectangle { get; set; } //Прямоугольная область public Color FillColor { get; set; } //Цвет заливки public Color TextColor { get; set; } //Цвет текста public Color BorderColor { get; set; } //Цвет границ public int Thickness { get; set; } //Толщина пера public int TextSize { get; set; } //Размер текста public int Number { get; set; } //Значение ячейки //Конструктор класса: public Cell(int w, int h, int left, int top, Color fillColor, Color textColor, Color borderColor, int thickness, int textSize, int num) { Rectangle = new Rectangle(left, top, w, h); FillColor = fillColor; TextColor = textColor; BorderColor = borderColor; Thickness = thickness; TextSize = textSize; Number = num; } //Метод рисования ячейки: public void Draw(Graphics g) { //Перо для рисования границ: Pen pen = new Pen(BorderColor, Thickness); //Сплошная кисть для заливки: Brush brush = new SolidBrush(FillColor); //Заливаем область: g.FillRectangle(brush, Rectangle); //Рисуем границы: g.DrawRectangle(pen, Rectangle); //Сплошная кисть для текста: Brush textBrush = new SolidBrush(TextColor); //Формат текста: Font font = new Font("Tahoma", TextSize, FontStyle.Bold); //Формат строки: StringFormat format = new StringFormat(StringFormatFlags.NoClip); //Выравнивание текста: format.Alignment = StringAlignment.Center; format.LineAlignment = StringAlignment.Center; //Рисуем текст (номер ячейки): g.DrawString(Number.ToString(), font, textBrush, Rectangle, format); } }
Содержание Архива
- Готовый оформленный отчёт
- Исходники программы
Pavelsk