
- •Курсовий проект (робота)
- •Перелік умовних позначень, символів, одиниць, скорочень і термінів
- •1 Опис предметної області
- •Огляд існуючих методів вирішення завдання
- •1.2 Огляд існуючих програмних засобів, що вирішують аналогічні завдання
- •1.3 Постановка завдання роботи.
- •2 Аналіз програмних засобів
- •2.1 Огляд особливостей мови програмування.
- •2.2 Огляд особливостей обраного компілятору.
- •2.3 Огляд бібліотек що використовується в роботі
- •3.3 Висновки з розділу 3
- •4 Посібник програміста
- •4.1 Призначення та умови застосування програми
- •4.2 Структура програми
- •5 Інструкція користувача
- •Висновки
- •Список літератури
- •Додаток а Текст програми
2.3 Огляд бібліотек що використовується в роботі
System;
System.Collections.Generic;
System.Linq;
System.Text;
System.Windows;
System.Windows.Controls;
System.Windows.Data;
System.Windows.Documents;
System.Windows.Input;
System.Windows.Media;
System.Windows.Media.Imaging;
System.Windows.Navigation;
System.Windows.Shapes;
System.Data.OleDb;
System.Windows.Controls.Primitives;
System.Windows.Media.Animation;
System.IO;
System.Xml.Linq;
Microsoft.Win32;
System.Windows.Threading;
2.4 Висновки з розділу 2
Було описано особливості мови програмування C# та технологію WPF, середи розробки Microsoft Visual Studio 2010, та обраного компілятору.
3 ОСНОВНІ РІШЕННЯ З РЕАЛІЗАЦІЇ КОМПОНЕНТІВ СИСТЕМИ
3.1 Основні розроблені алгоритми
Алгоритм работы программы, как формируются схемы, например, с точки зрения реализации
Фон схеми створюється за допомогою елементів технології WPF,
самі ж гравці, м’яч, їх розташування, розмір, колір регулюються за допомогою успадкування класу Thumb /// Створення ключови точок на відрізку…
3.2 Основні рішення щодо модульного уявлення системи
Проект складається з таких файлів(табл. 3.1):
-
Назва файлу
Опис файлу
Trener.exe
Скомпонований файл додатку
Trener.sln
Файл Visual Basic .NET призначений для вне-сення змін у додаток
App.xaml
Розмітка головного додатку
App.xaml.cs
Код головного додатку
CalendarInfo.xaml
Розмітка елементу „Інформація календаря”
CalendarInfo.xaml.cs
Код елементу „Інформація календаря”
CalendarUserControl.xaml
Розмітка елементу „Календар”
CalendarUserControl.xaml.cs
Код елементу „Календар”
PlayerInfo.xaml
Розмітка елементу „Інформація гравця”
PlayerInfo.xaml.cs
Код елементу „Інформація гравця”
ClassPlayer.cs
Код класу „Гравець”
Converts.cs
Код класів-конверторів
MainWindow.xaml
Розмітка головного вікна програми
MainWindow.xaml.cs
Код головного вікна програми
UserControl1.xaml
Розмітка елементу часової лінії
UserControl1.xaml.cs
Код елементу часової лінії
Таблиця 3.1
Файл ClassPlayer.cs містить:
публічний метод Player, що ініціалізує об’єкт початковими значеннями;
публічний метод CreatePlayer, який додає об'єкт на схему та до часової лінії;
метод SetColor, який задає колір об’єкту;
метод SortListOfPlayers, котрий сортує список ключових точок;
метод RedrawListBoxItem, який створює часову лінію на часовій шкалі;
метод FindListVithSecond, котрий використовується для пошуку ключової точки за секундою;
публічний метод RedrawAllPointsPlayer, який використовується для пересування гравців відносно часової лінії;
метод PointBetweenTwoPoints, який використовується для пересування гравців відносно часової лінії;
публічний метод AnimationPlayer, який використовується для створення анімації пересувань;
публічний метод PlayerToXML, який використовується для експорту даних про гравця у файл;
публічний метод XMLToPlayer, який використовується для імпорту даних про гравця з файлу;
публічний метод XMLToPlayerHelper, який допомагає імпортувати дані про гравця з файлу;
обробник події onDragDelta, який реагує на перетаскування гравця на схемі;
обробник події Player_GotFocus, який реагує на отримання фокусу гравцем;
обробник події Player_LostFocus, який реагує на втрату фокуса гравцем;
обробник події ContextChangeAdd, який реагує на додавання ключової точки через контекстне меню;
обробник події ContextChangeDelete, який реагує на видалення ключової точки через контекстне меню;
Файл MainWindow.xaml.cs містить:
публічний метод MainWindow, що ініціалізує об’єкт початковими значеннями;
метод RedrawAllPlayers, який пересуває всіх гравців відносно значення слайдера часової шкали;
обробник події Sheme_MouseLeftButtonDown, який реагує на натиснення лівою кнопкою миші по схемі;
обробник події Sheme_MouseEnter, який реагує на наведення курсору на схему;
обробник події Sheme_MouseLeave, який реагує на виведення курсору зі схеми;
обробник події Button_Click_Cursor, який реагує на натиснення кнопки меню „Курсор”;
обробник події Button_Click_Draw, який реагує на натиснення кнопки меню „Додати гравця”;
обробник події Button_Click_Select, який реагує на натиснення кнопки меню „Перемістити”;
обробник події Button_Click_Brush, який реагує на натиснення кнопки меню „Кисть”;
обробник події Sheme_MouseMove, який реагує на пересування курсором по схемі;
обробник події Button_Click_Cursor, який реагує на натиснення кнопки меню „Курсор”;
обробник події Class1_MouseLeftButtonDown, який реагує на натиснення по ключовому кадру на часовій лінії;
обробник події sliderTimeLine_ValueChanged, який реагує на зміну значення слайдеру часової шкали;
обробник події Button_Play_Click, який реагує на натиснення кнопки меню „Грати”;
обробник події Button_Pause_Click, який реагує на натиснення кнопки меню „Пауза”;
обробник події Button_Import_Click, який реагує на натиснення кнопки меню „Імпортувати схему”;
обробник події Button_Export_Click, який реагує на натиснення кнопки меню „Експортувати схему”;
обробник події Calendar_DayClick, який реагує на натиснення кнопки дня календаря;
обробник події CalendarInfoChange, який реагує на зміну даних календаря;
Файл UserControl1.cs містить:
публічний метод Class1, який ініціалізує об’єкт початковими значеннями;
статичний метод Class1, який ініціалізує статичні компоненти класу;
статичний метод WhatDraw, який регулює режим відображення елементу;
обробник події MenuItemAdd_Click, який реагує на натиснення кнопки контекстного меню „Додати ключову точку”;
обробник події MenuItemDelete_Click, який реагує на натиснення кнопки контекстного меню „Видалити ключову точку”.
Інформація про гравців зберігається в класі Player, методи й поля…
class Player: Thumb
{
private List<PositionOfPlayer> Points;
private List<Point> Bezye;
private List<double> Time;
public Color color;
public double Size;
public ListBoxItem lbi;
public String ListBoxItemContext {
get { return lbi.Content.ToString(); }
set { lbi.Content = value; }
}
private static bool dragm = true;
public static bool DragModePlayer