Министерство образования и науки РФ
Федеральное агентство по образованию
ГОУ ВПО «Ижевский государственный технический университет»
Кафедра «Программное обеспечение»
Лабораторная работа № 4 на тему
«Объекты Delphi»
по дисциплине «Программирование на ЯВУ»
(Вариант 27)
Выполнил студент гр. 2-78-10 |
Аднокулова Т.С. |
Принял |
Килин И. В. |
Ижевск 2010
1. Постановка задачи
Разрабатываемая программа предназначена для обработки результатов спортивных соревнований по вольной борьбе. В начале программы выдается в графическом режиме пиктограмма, адекватно отображающая данный вид соревнований. Стартовые протоколы, имена участников вводятся из тестового файла и/или с клавиатуры. Результаты соревнований генерируются случайным образом в интервалах, определяемых предметной областью. В процессе обработки результатов предусмотреть регулируемые задержки для наилучшего отображения динамики соревнований. Интерфейс программы должен быть такой, чтобы было интересно смотреть и видеть лучшего на данный момент.
2. Описание программы
Программа использует одну форму. На форме несколько компонент, помогающих управлять моделированием и смотреть результаты.
Компонент HeroList содержит имена состязающихся борцов, их можно создавать самостоятельно с помощью клавиатуры, можно читать из входного файла in.txt, находящегося в одной папке с программой с помощью кнопки LoadButton.
Управление моделированием осуществляется с помощью меню, содержащего кнопки StartButton, StopButton, LoadButton, ExitButton и двух компонент TrackBar и SpeedBar. С помощью кнопок соответственно можно запустить моделирование, приостановить его, загрузить входные данные из файла и выйти из программы. Компоненты TrackBar и SpeedBar регулируют параметры скорости моделирования – масштаб времени (сколько миллисекунд в моделировании приравнивается к одной секунде) и количество секунд, проходящих в модели за единицу времени.
Компоненты Progress и TimeM отображают количество времени, прошедшего с начала боя в минутах и секундах. Каждый бой спортсменов длится 5 минут.
Компоненты Hero1 и Hero2 отображают борцов, соревнующихся в данный момент времени. Res1 и Res2 – результат последнего прошедшего боя с указанием полученных за него очков, победитель пишется на компонентах синим цветом, проигравший – красным. В вольной борьбе победа не всегда присуждается тому, кто набрал большее количество очков за технику, если победитель уложил соперника на спину к земле и продержал его в таком положение более 5 секунд. За победу дополнительно присуждаются 10 очков.
Компонент ResGrid отображает список соревнующихся в табличной форме, с указанием имени спортсмена, числа боёв, которые он уже провёл, количества побед в них и суммы набранных очков. Участники сортируются по убыванию числа побед в боях, среди участников с одинаковым числом побед – по убыванию суммы набранных баллов.
Компонент GameTable в табличной форме показывает все уже прошедшие бои между всеми парами участников с отображением количества очков, набранных за соревнование. Левое число в каждой клетке – количество очков, набранных первым участником, имя которого стоит в первой клетке ряда данной клетки, правое – количество очков, набранных вторым участником, имя которого стоит в первой клетке колонки данной клетки. Если первый спортсмен победил, то счёт будет написан синим шрифтом, если проиграл – красным.
В компоненте Guberniev пользователю отображаются комментарии о происходящем чемпионате – какие противники сейчас соревнуются, как проходит матч, счёт. Комментарии берутся из заранее заготовленных шаблонов.