Содержание
- Формирование структуры разрабатываемого объекта
- Анализ и формирование требований к разрабатываемому объекту и его составным частям
- Разработка классов
- Класс «Ячейка»
- Класс «Матрица»
- Класс справочной формы
- Класс «Сериализация»
- Класс главной формы
- Исходный вид программы
- Рекомендации
- Заключение
Анализ объектов (отрывок)
Объект «Ячейка»
Данные:
- Положение;
- Длина и ширина;
- Цвет контура и закраски;
- Толщина контура;
- Текст;
- Шрифт текста;
- Размер и цвет текста;
Функции:
- Рисование;
- Изменение длины и ширины;
- Изменение цвета контура и закраски;
- Изменение толщины контура;
- Изменение текста;
- Изменение размера текста;
- Изменение цвета текста;
- Проверка попадания курсора в объект;
Объект «Матрица»
Данные:
- Положение;
- Двумерный массив объектов типа «Ячейка»;
- Двумерный массив чисел;
Функции:
- Рисование;
- Заполнение случайными числами;
- Изменение элемента;
- Проверка попадания курсора в один из объектов;
- Умножение матрицы на число;
- Деление матрицы на число;
- Сложение и вычитание матриц;
- Умножение матриц;
- Транспонирование матрицы;
Отрывок программного кода
Класс «Ячейка»
[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);
}
}
Содержание Архива
- Готовый оформленный отчёт
- Исходники программы
Телеграм
-