Создание программы "EuroBasket"
Введение
Основная цель курсовой работы - усовершенствование навыков работы в среде C#.
При изучении предметной области, выяснилось, что «EuroBasket» на первый взгляд простая игра, но для ее реализации необходимо обратится практически ко всем разделам программирования в среде C#.
Суть самой игры заключается в следующем: В чемпионате Европы по баскетболу среди мужских команд участвуют 24 сборных, разбитых на 6 групп. Места в группах в случае равенства очков у двух и более команд определяются следующим образом:
а) по результатам игр между собой;
б) по лучшей разнице заброшенных и пропущенных мячей;
в) по наибольшему числу 3-х очковых попаданий за все игры в группе.
Сборные, занявшие 1 места в группах, выходят в 1/4 финала. Кроме того, в 1/4 финала выходят 2 сборные из числа команд, занявших 2 места в группах, имеющие лучшие показатели по набранным очкам, а в случае их равенства:
а) по лучшей разнице заброшенных и пропущенных мячей;
б) по наибольшему числу 3-х очковых попаданий за все игры в группе. Пары в 1/4 и в 1/2 финала определяются жребием. Определить чемпиона Европы по баскетболу.
1.Назначение и область применения
Данная программа может быть использована в качестве развлечения.
Программа имеет простой интерфейс, позволяющий быстро разобраться, как пользоваться данной программой. Поэтому программа легка для понимания и очень удобна в использовании для широкого круга пользователей.
2.Постановка задачи
Целью данной курсовой работы является углубление знаний и расширение навыков по разработке алгоритмов и их реализации на персональном компьютере. Курсовая работа выполнена в среде C#.
В курсовой работе используются основные возможности языка в работе со структурами, файлами.
В данной игре предполагалось создание:
1.легко осваиваемого интерфейса;
2.графическое окно, удобным расположением кнопок и вкладок;
.доступного для понимания руководства пользователя;
.Возможность в любой момент покинуть игру.
3.Используемые методы
В данной программе использовались следующие разделы C#:
Управляющие структуры (условие, циклы);
Массивы (одномерные, двумерные);
Символы и строки;
Процедуры;
Работа с файлами;
В итоги получилась программа - игра, в которой использовались основные возможности среды C#.
Список переменных и типов данных.
Класс Form1
Имя переменнойТип данныхОписаниеTeamsTeam[]Начальный массив командTMНовый массив команд (чтоб не смешать старый)TCМассив команд в полуфинальных играхindex_stepintИндекс текущего этапаNumber_groupНомер группыCount_teamsКоличество командGroup_countСчёт в группеOutput_dataDataGridVievТаблица команд по группам
Класс Championship
НаименованиеТип данныхОписаниеGamesInt[,]Игровая сетка в группах
Класс Team
НаименованиеТип данныхОписаниеNameStringПеременная для хранения имён участниковCountryПеременная для хранения стран участниковAll_ScoresintПеременная для хранения суммы забитых мячейAll_Lose_PointsПеременная для хранения суммы пропущенных мячейDifferenceПеременная для хранения разницы между забитыми и пропущенными мячамиThree_PointsПеременная для хранения количества 3-х очковых
4.Описание алгоритма программы
Текстовый алгоритм
1.Начало
.Вводим названия сборных и соответствующих им стран
Цикл пока i < числа команд
Массив команд[i] = Новая команда (Таблица1 [1, i].значение. ToString(),
Таблица2 [2, i].значение. ToString());
Следующий шаг i
3.Строим групповую таблицу для N-й группы
Групповая_таблица (Таблица2, 24/6, индекс_этапа)
4.Строим игровую сетку
Игровая_сетка = Новая игровая_сетка();
Игровая_сетка. Игра = новая int [24, 24, 6]
5.Заполняем игровую сетку для текущей группы
Цикл пока i < Таблицы2. СтрокаСтолбец
Цикл пока p < 4*индекс_этапа+4
Если Таблица2 [1, i].Значение. ToString()==Массив_команд[p].имя
Массив_команд[p].Сумма_забитых_очков += Convert. NoInt32 (Таблица2 [2, i].Значение);
Массив_команд[p].Сумма_пропущенных_очков += Convert. NoInt32 (Таблица2 [2, i+1].Значение);
Массив_команд[p].Сумма_3-х_очковых += Convert. NoInt32 (Таблица2 [3, i+1].Значение);
Цикл m< 4*индекс_этапа+4
Если Таблица2 [1, i+1].Значение. ToString()==Массив_команд[m].имя
Массив_команд[m].Сумма_забитых_очков += Convert. NoInt32 (Таблица2 [2, i+1].Значение);
Массив_команд[m].Сумма_пропущенных_очков += Convert. NoInt32 (Таблица2 [2, i].Значение);
Массив_команд[m].Сумма_3-х_очковых += Convert. NoInt32 (Таблица2 [3, i].Значение);
Игровая_сетка. Игра [p, m, индекс_этапа]= Convert. NoInt32 (Таблица2 [2, i].Значение);
Игровая_сетка. Игра [p, m, индекс_этапа]= Convert. NoInt32 (Таблица2 [2, i+1].Значение);
Следующий шаг i
Следующий шаг p
Следующий шаг m
6.Считываем данные с таблицы и сортируем
Цикл i<4
Цикл o=4*номер_группы, p=4*номер_группы+1 p<4*номер_группы+4
Если Массив_команд[o].Сумма забитых< Массив_команд[p].Сумма забитых
Обмен (Массив_чемпионата[o], Массив_чемпионата[p])
Иначе Если Массив_команд[o].Сумма забитых=Массив_команд[p].Сумма забитых
Если Игровая_сетка. Игра [o, p, Номер_группы]< Игровая_сетка. Игра [p, o, Номер_группы]
Обмен (Массив_чемпионата[o], Массив_чемпионата[p])
Иначе Если Игровая_сетка. Игра [o, p, Номер_группы] = Игровая_сетка. Игра [p, o, Номер_группы
Если Массив_чемпионата[o].Разница> Массив_чемпионата[p].Разница
Обмен (Массив_чемпионата[o], Массив_чемпионата[p])
Иначе Если Массив_чемпионата[o].Разница = Массив_чемпионата[p].Разница
Если Массив_чемпионата[o].Сумма_3-х_очковых< Массив_чемпионата[p]. Сумма_3-х_очковых
Обмен (Массив_чемпионата[o], Массив_чемпионата[p])
Следующий шаг i
Следующий шаг o
Следующий шаг p
7.Выводим Результаты
Цикл i=0, k= 4*номер_группы; i<4
Таблица_вывода [0, i].Значение=i+1;
Таблица_вывода [1, i].Значение=Массив_команд[k].Имя;
Таблица_вывода [2, i].Значение=Массив_команд[k].Сумма_пропушенны;
Таблица_вывода [3, i].Значение=Массив_команд[k].Сумма_забитых;
Таблица_вывода [4, i].Значение=Массив_команд[k].Сумма_3-х_оковых;
Следующий шаг i
Следующий шаг k
8.Выводим команды вышедшие в 1/4
А) Занявшие первые места в группах
Цикл i<6
Таблица4 [0, i].Значение=i+1;
Таблица4 [1, i].Значение=Массив_команд [i*4].Страна;
Таблица4 [2, i].Значение=Массив_команд [i*4].Имя;
Таблица4 [3, i].Значение=Массив_команд [i*4].Сумма_пропушенны;
Таблица4 [4, i].Значение=Массив_команд [i*4].Сумма_забитых;
Таблица4 [5, i].Значение=Массив_команд [i*4].Сумма_3-х_оковых;
Следующий шаг i
Б) сортируем и выводим 2 команды занявшие 2-е места
Цикл o=0, p=1 p<6-i
Если Массив_команд[o].Сумма забитых< Массив_команд[p].Сумма забитых
Обмен (Массив_чемпионата[o], Массив_чемпионата[p])
Иначе Если Массив_команд[o].Сумма забитых=Массив_команд[p].Сумма забитых
Если Массив_чемпионата[o].Разница< Массив_чемпионата[p].Разница
Обмен (Массив_чемпионата[o], Массив_чемпионата[p])
Иначе Если Массив_чемпионата[o].Разница = Массив_чемпионата[p].Разница
Если Массив_чемпионата[o].Сумма_3-х_очковых< Массив_чемпионата[p]. Сумма_3-х_очковых
Обмен (Массив_чемпионата[o], Массив_чемпионата[p])
Следующий шаг o
Следующий шаг p
Таблица4 [0, 6].Значение=7;
Таблица4 [1, 6].Значение=Массив_команд [i*4].Страна;
Таблица4 [2, 6].Значение=Массив_команд [i*4].Имя;
Таблица4 [3, 6].Значение=Массив_команд [i*4].Сумма_пропушенны;
Таблица4 [4, 6].Значение=Массив_команд [i*4].Сумма_забитых;
Таблица4 [5, 6].Значение=Массив_команд [i*4].Сумма_3-х_оковых;
Таблица4 [0, 7].Значение=8;
Таблица4 [1, 7].Значение=Массив_команд [i*4].Страна;
Таблица4 [2, 7].Значение=Массив_команд [i*4].Имя;
Таблица4 [3, 7].Значение=Массив_команд [i*4].Сумма_пропушенны;
Таблица4 [4, 7].Значение=Массив_команд [i*4].Сумма_забитых;
Таблица4 [5, 7].Значение=Массив_команд [i*4].Сумма_3-х_оковых;
9.Строим таблицу игр 1/4 и заполняем результаты
10.Сортируем результаты и выводим команды вышедшие в полуфинал
Цикл i < 4
Если Массив полуфинала[i].Сумма_забитых< Массив полуфинала [i+1].Сумма_забитых
Обмен (Массив полуфинала[i], Массив полуфинала [i+1])
Иначе Если Массив полуфинала[i].Сумма_забитых= Массив полуфинала [i+1].Сумма_забитых
Если Массив полуфинала[i].Сумма_3-х_очковых= Массив полуфинала [i+1].Сумма_3-х_очковых
Обмен (Массив полуфинала[i], Массив полуфинала [i+1])
Следующий шаг i
11.Вводим результаты 1/2
12.Выводим команды вышедшие в финал и заполняем результаты. Текст=Массив полуфинала[0].Имя. Текст=Массив полуфинала[2].Имя
13.Выводим победителя чемпионата
Если numericUpDown1. Значение> numericUpDown3. Значение. Текст= GroupBox1. Текст+ «Победитель чемпионата»
Иначе Если numericUpDown1. Значение< numericUpDown3. Значение. Текст= GroupBox2. Текст+ «Победитель чемпионата»
Иначе Если numericUpDown2. Значение> numericUpDown4. Значение. Текст= GroupBox1. Текст+ «Победитель чемпионата»
Иначе. Текст= GroupBox2. Текст+ «Победитель чемпионата»_In_Group (DataGridView OutPutData, Team[] Teams, int number_group)
5. Описание входных и выходных данных
Ниже в таблице описываются входные и выходные данные, которые выстроены примерно в том порядке, в котором они должны взаимодействовать с пользователем.
Описание входных и выходных данных
ВходныеВыходные2. Выбор раздела в Главном меню программы 4. Ввод при помощи клавиатуры название команд и стран, либо при помощи кнопки случайно, случайно заполняем таблицу. 5. Ввод при помощи клавиатуры очков за забитые голы команд в Игре 1/8, либо при помощи кнопки случайно, случайно заполняем таблицу. 8. Ввод при помощи клавиатуры очков за забитые голы команд в Игре 1/4, либо при помощи кнопки случайно, случайно заполняем таблицу. 10. Ввод при помощи клавиатуры очков за забитые голы команд в Игре 1/2, либо при помощи кнопки случайно, случайно заполняем таблицу. 12. Ввод при помощи клавиатуры очков за забитые голы команд в Финале, либо при помощи кнопки случайно, случайно заполняем таблицу.1. Отображение на экране Главного меню 3. Вывод на экран ранее выбранного раздела: - Ввод команды - вывод на экран окна Ввод команды - Игры 1/8 - вывод на экран окна Игры 1/8 - Игры 1/4 - вывод на экран окна Игры 1/4 - Команды вышедшие в 1/2 - вывод на экран окна Команды вышедшие в 1/2 - Игры 1/2 - вывод на экран окна Игры 1/2 - Финал - вывод на экран окна Финал - Поздравление - Вывод на экран окна Поздравление 6. Вывод на экран окна Результаты. 7. Вывод на экран окна Команды вышедшие в 1/4. 9. Вывод на экран окна Команды вышедшие в 1/2. 11. Вывод на экран окна Команды вышедшие в финал. 14. Вывод на экран окна Поздравление.
6. Программное и аппаратное обеспечение программы
Для запуска игры достаточно любого компьютера, на котором установлена хоть какая-нибудь операционная система, семейство Windows.
7. Руководство пользователя
1. Запустите файл «EuroBasket.exe». На экране появится стартовая страница.
2. Нажмите клавишу «Начать» и вы перейдёте ко вкладке ввода команд. Здесь в соответствующие столбцы вводим названия сборных и стран.
3.Нажмите «Далее».
Теперь перед вами таблица игр 1-й группы в 1/8. Таблицу, необходимо заполнить следующими данными: Очки, 3-очковые.
4.Нажмите «Далее» и вы перейдёте к таблице результатов, где увидите
распределение команд группы по местам, сумму очков, количество пропущенных мячей и сумму 3-х очковых.
5.Повторите действия 3-4 ещё 5 раз (пока все группы не сыграют в 1/8).
6.Нажмите «Далее» и вы перейдёте на вкладку, где увидите список команд, вышедших в 1/4 финала.
.Нажмите «Далее» и на соответствующей вкладке введите результаты 1/4.
.Нажмите «Далее», и увидите список команд, вышедших в 1/2.
.Нажмите «Далее» и введите результаты полуфинальной игры.
.Нажмите «Далее» и вы узнаете, какие команды вышли в финал.
Введите результаты финальной игры.
11.Нажмите «Далее» и радуйтесь за победителя чемпионате Европы по баскетболу среди мужских команд.
Заключение
Не смотря на внешне кажущуюся простоту данной программы, он таит в себе ряд сложностей, которые реализуются с использованием всех основных приемов Visual С#. На мой взгляд, изучая программирование в Visual С#, можно освоить основные приемы программирования.
Целью данной курсовой работы, являлось углубление знаний и расширение навыков по разработке алгоритмов и их реализации на персональном компьютере, на мой взгляд, разработанная мной программа, вполне отвечает поставленным целям. Особенностями данной программы является:
-Четко построенный алгоритм;
-Интуитивно понятный интерфейс;
-Удобное управление;
-Простота в использовании;
-Вполне понятное руководство пользователя;
- Отсутствие лишних дополнений.
Список литературы
1.Герберт Шилдт «Полный справочник по С#».: Пер. с англ. - М.: Издательский дом «Вильямс», 2004. - 740 с.: ил. - Парал. тит. англ.
.Ч. Петцольд «Программирование для Windows на C#», «Москва», 2002.
3.Троелсен Э. «С# и платформа.NET. Библиотека программиста» - СПб.: Питер, 2004. - 796 с.: ил.
4.Г. Шилдт «C#. Учебный курс», «Питер», 2003.
Приложение 1
Листинг программы.
üForm1.cs
using System;System. Collections. Generic;System. ComponentModel;System. Data;System. Drawing;System. Text;System. Windows. Forms;EuroBasket
{partial class Form1: Form
{Team[] Teams; // Начальный массив командTeam[] TM;Team[] TC; // Массив команд в полуфинальных играхChampionship championship; // Чемпионат содержит всю игровую сетку по группамForm1 ()
{();
}index_step = 0; // Индекс текущего этапаvoid Exchange (Team one, Team two)
{TC = new Team(«», «»);. All_Lose_Points = one. All_Lose_Points;. All_Scores = one. All_Scores;. Country = one. Country;. Name = one. Name;. Three_Points = one. Three_Points;. Three_Points = two. Three_Points;. Name = two. Name;. All_Lose_Points = two. All_Lose_Points;. All_Scores = two. All_Scores;. Country = two. Country;. All_Lose_Points = TC. All_Lose_Points;. All_Scores = TC. All_Scores;. Country = TC. Country;. Name = TC. Name;. Three_Points = TC. Three_Points;
} // Метод для обмена командvoid Sort_In_Group (DataGridView OutPutData, Team[] Teams, int number_group) // Метод сортировки в группах
{. RowCount = 4;(int k = 4 * number_group; k < 4 * number_group + 4; k++) // Копируем нужную часть массива Teams[] в массив TM[] чтобы не перемешивать массив Teams[]
{[k] = new Team (Teams[k].Name, Teams[k].Country);[k].All_Lose_Points = Teams[k].All_Lose_Points;[k].All_Scores = Teams[k].All_Scores;[k].Three_Points = Teams[k].Three_Points;
}(int i = 0; i < 4; i++) // Сортируем
{(int o = 4 * number_group, p = 4 * number_group + 1; p < 4 * number_group + 4; o++, p++)
{(TM[o].All_Scores < TM[p].All_Scores) // По забитым мячам
{(TM[o], TM[p]);
}
{(TM[o].All_Scores == TM[p].All_Scores) // Если равны
{(championship. Games [o, p, number_group] < championship. Games [p, o, number_group]) // По играм друг с другам
{(TM[o], TM[p]);
}
{(championship. Games [o, p, number_group] == championship. Games [p, o, number_group]) // Если равны
{(TM[o].Difference > TM[p].Difference)
{(TM[o], TM[p]);
}
{(TM[o].Difference == TM[p].Difference) // По разнице забитых и пропущенных
{(TM[o].Three_Points < TM[p].Three_Points)
{(TM[o], TM[p]);
}
}
}
}
}
}
}
}
}(int i = 0, k = 4 * number_group; i < 4; i++, k++) // Выводим в таблицу
{[0, i].Value = i + 1;[1, i].Value = TM[k].Name;[3, i].Value = TM[k].All_Lose_Points;[2, i].Value = TM[k].All_Scores;[4, i].Value = TM[k].Three_Points;
}
}class Championship // Класс чемпионат
{int[,] Games; // Игровая сетка в группах
}class Team // Класс команда
{string Name; // Имяstring Country; // Странаint All_Scores; // Сумма забитыхint All_Lose_Points; // Сумма пропущенныхint Three_Points; // 3-х очковыеint Difference // Разница забитых и пропущенных
{
{All_Scores - All_Lose_Points;
}
}Team (string Name, string Country) // Конструктор
{. Name = Name;. Country = Country;
}
}void Build_Table (DataGridView output_data, int count_teams, int group_count)
{_data. RowCount = 12;(int i = count_teams * group_count, irows = 0; i < count_teams * group_count + count_teams - 1; i++)
{(int k = i + 1; k < count_teams * group_count + count_teams; k++)
{_data [1, irows].Value = Teams[i].Name;(irows% 2 == 0 & irows!= 0)
{_data [0, irows].Value = Convert. ToInt32 (output_data [0, irows - 2].Value) + 1;
}
{_data [0, 0].Value = 1;
}++;_data [1, irows].Value = Teams[k].Name;++;
}
}
}void button1_Click (object sender, EventArgs e) // Кнопка Начать
{. RowCount = 24; // Присвоить число строк(int i = 0; i < 24; i++)
{[0, i].Value = (i + 1).ToString(); // Присвоить ячейке по адресу [столбец, строка] значение
}. SelectedIndex++; // Перейти на следующую вкладку_Next. Visible = true; // Показать кнопку далее
}void button1_Next_Click (object sender, EventArgs e) // Кнопка далее
{// Если не введены данные в какую либо таблицу, чтобы не вылетали ошибки
{(tabControl1. SelectedIndex) // В зависимости от текущей вкладки
{1:// Присваиваем командам имена и страны
{_step = 0;= new Team [dataGridView1. RowCount];= new Team [dataGridView1. RowCount];(int i = 0; i < Teams. Length; i++)
{[i] = new Team (dataGridView1 [1, i].Value. ToString(), dataGridView1 [2, i].Value. ToString());
}. SelectedIndex++;. SelectedIndex = 0;_Table (dataGridView2, 24 / 6, index_step); // Строим групповую таблицу;
}2:
{(tabControl2. SelectedIndex) //
{0:
{= new Championship();. Games = new int [24, 24, 6];(int i = 0; i < dataGridView2. RowCount; i += 2) // Заполняем игровую сетку для текущей группы
{(int p = 4 * index_step; p < 4 * index_step + 4; p++)
{(dataGridView2 [1, i].Value. ToString() == Teams[p].Name)
{[p].All_Scores += Convert. ToInt32 (dataGridView2 [2, i].Value);[p].All_Lose_Points += Convert. ToInt32 (dataGridView2 [2, i + 1].Value);[p].Three_Points += Convert. ToInt32 (dataGridView2 [3, i].Value);(int m = 4 * index_step; m < 4 * index_step + 4; m++)
{(dataGridView2 [1, i + 1].Value. ToString() == Teams[m].Name)
{[m].All_Scores += Convert. ToInt32 (dataGridView2 [2, i + 1].Value);[m].All_Lose_Points+= Convert. ToInt32 (dataGridView2 [2, i].Value);[m].Three_Points += Convert. ToInt32 (dataGridView2 [3, i + 1].Value);. Games [p, m, index_step] = Convert. ToInt32 (dataGridView2 [2, i].Value);. Games [m, p, index_step] = Convert. ToInt32 (dataGridView2 [2, i + 1].Value);
}
}
}
}
}_In_Group (dataGridView3, Teams, index_step); // Сортируем. SelectedIndex++; // Переходим к результатам;
}1:
{_step++; // Индекс этап + 1(index_step < 6) // Если прошли не все этапы
{. SelectedIndex = 0;(int i = 0; i < dataGridView2. RowCount; i++)
{[2, i].Value = «»;[3, i].Value = «»;
}_Table (dataGridView2, 24 / 6, index_step);
}// Если все выводим командв прошедшие в 1 / 4
{. SelectedIndex++;. RowCount = 8;(int i = 0; i < 6; i++)
{[0, i].Value = i + 1;[1, i].Value = this.TM [i * 4].Country;[2, i].Value = this.TM [i * 4].Name;[3, i].Value = this.TM [i * 4].All_Scores;[4, i].Value = this.TM [i * 4].All_Lose_Points;[5, i].Value = this.TM [i * 4].Three_Points;
}[] TM = new Team[6];(int i = 0; i < 6; i++)
{[i] = new Team (this.TM [i * 4 + 1].Name, this.TM [i * 4 + 1].Country);[i].All_Lose_Points = this.TM [i * 4 + 1].All_Lose_Points;[i].All_Scores = this.TM [i * 4 + 1].All_Scores;[i].Three_Points = this.TM [i * 4 + 1].Three_Points;
}(int i = 0; i < 6; i++) // Сортировка 2 мест в группах
{(int o = 0, p = 1; p < 6 - i; o++, p++)
{(TM[o].All_Scores < TM[p].All_Scores)
{(TM[o], TM[p]);
}
{(TM[o].All_Scores == TM[p].All_Scores)
{(TM[o].Difference < TM[p].Difference)
{(TM[o], TM[p]);
}
{(TM[o].Difference == TM[p].Difference)
{(TM[o].Three_Points < TM[p].Three_Points)
{(TM[o], TM[p]);
}
}
}
}
}
}
}
// Вывод 2-х мест[0, 6].Value = 7;[1, 6].Value = TM[0].Country;[2, 6].Value = TM[0].Name;[3, 6].Value = TM[0].All_Scores;[4, 6].Value = TM[0].All_Lose_Points;[5, 6].Value = TM[0].Three_Points;[0, 7].Value = 8;[1, 7].Value = TM[1].Country;[2, 7].Value = TM[1].Name;[3, 7].Value = TM[1].All_Scores;[4, 7].Value = TM[1].All_Lose_Points;[5, 7].Value = TM[1].Three_Points;
// Полученные команды из таблицы в новый масив.TM = new Team[8];. RowCount = 8;(int i = 0; i < 8; i++)
{.TM[i] = new Team (dataGridView4 [2, i].Value. ToString(), dataGridView4 [1, i].Value. ToString());.TM[i].All_Lose_Points = Convert. ToInt32 (dataGridView4 [4, i].Value);.TM[i].All_Scores = Convert. ToInt32 (dataGridView4 [3, i].Value);.TM[i].Three_Points = Convert. ToInt32 (dataGridView4 [5, i].Value);[1, i].Value = this.TM[i].Name;
}(int i = 0, k = 1; i < 8; i += 2, k++)
{[0, i].Value = k;
}
};
}2:// Переходим к 1 / 4
{. SelectedIndex++;;
}
};
}3:// 1 / 4
{. RowCount = 4;= new Team[4];(int i = 0, k = 0; i < 8; i += 2, k++) // Считывание данных из таблицы
{.TM[i].All_Scores = 0;.TM[i].All_Lose_Points = 0;.TM[i].Three_Points = 0;.TM [i + 1].All_Scores = 0;.TM [i + 1].All_Lose_Points = 0;.TM [i + 1].Three_Points = 0;.TM[i].All_Scores = Convert. ToInt32 (dataGridView5 [2, i].Value);.TM[i].All_Lose_Points = Convert. ToInt32 (dataGridView5 [2, i + 1].Value);.TM[i].Three_Points = Convert. ToInt32 (dataGridView5 [3, i].Value);.TM [i + 1].All_Scores = Convert. ToInt32 (dataGridView5 [2, i + 1].Value);.TM [i + 1].All_Lose_Points = Convert. ToInt32 (dataGridView5 [2, i].Value);.TM [i + 1].Three_Points = Convert. ToInt32 (dataGridView5 [3, i + 1].Value);(this.TM[i].All_Scores > this.TM [i + 1].All_Scores) // Тут же сортировка
{[k] = new Team (TM[i].Name, TM[i].Country);[k].All_Lose_Points = TM[i].All_Lose_Points;[k].All_Scores = TM[i].All_Scores;[k].Three_Points = TM[i].Three_Points;
}
{(this.TM[i].All_Scores < this.TM [i + 1].All_Scores)
{[k] = new Team (TM[i + 1].Name, TM [i + 1].Country);[k].All_Lose_Points = TM [i + 1].All_Lose_Points;[k].All_Scores = TM [i + 1].All_Scores;[k].Three_Points = TM [i + 1].Three_Points;
}
{(this.TM[i].All_Scores == this.TM [i + 1].All_Scores)
{(this.TM[i].Three_Points > TM [i + 1].Three_Points)
{[k] = new Team (TM[i].Name, TM[i].Country);[k].All_Lose_Points = TM[i].All_Lose_Points;[k].All_Scores = TM[i].All_Scores;[k].Three_Points = TM[i].Three_Points;
}
{[k] = new Team (TM[i + 1].Name, TM [i + 1].Country);[k].All_Lose_Points = TM [i + 1].All_Lose_Points;[k].All_Scores = TM [i + 1].All_Scores;[k].Three_Points = TM [i + 1].Three_Points;
}
}
}
}
}(int i = 0; i < 4; i++) // Вывод Результатов 1 / 4
{[0, i].Value = i + 1;[1, i].Value = TC[i].Country;[2, i].Value = TC[i].Name;[3, i].Value = TC[i].All_Scores;[4, i].Value = TC[i].All_Lose_Points;[5, i].Value = TC[i].Three_Points;
}. SelectedIndex++; // Показываем результаты;
}4:// Строим 1 / 2 сетку игр
{. RowCount = 4;(int i = 0, k = 1; i < 4; i++)
{(i% 2 == 0)
{[0, i].Value = k;++;
}[1, i].Value = TC[i].Name;
}. SelectedIndex++;;
}5:
{(int i = 0; i < 4; i += 2) // Считываем данные 1 / 2
{.TC[i].All_Scores = 0;.TC[i].All_Lose_Points = 0;.TC[i].Three_Points = 0;.TC [i + 1].All_Scores = 0;.TC [i + 1].All_Lose_Points = 0;.TC [i + 1].Three_Points = 0;.TC[i].Name = dataGridView7 [1, i].Value. ToString();.TC[i].All_Scores = Convert. ToInt32 (dataGridView7 [2, i].Value);.TC[i].Three_Points = Convert. ToInt32 (dataGridView7 [3, i].Value);.TC [i + 1].Name = dataGridView7 [1, i + 1].Value. ToString();.TC [i + 1].All_Scores = Convert. ToInt32 (dataGridView7 [2, i + 1].Value);.TC [i + 1].Three_Points = Convert. ToInt32 (dataGridView7 [3, i + 1].Value);(this.TC[i].All_Scores < this.TC [i + 1].All_Scores) // Сортируем
{(TC[i], TC [i + 1]);
}
{(TC[i].All_Scores == TC [i + 1].All_Scores)
{(TC[i].Three_Points < TC [i + 1].Three_Points)
{(TC[i], TC [i + 1]);
}
}
}
}
// Выводим финалистов. Text = TC[0].Name;. Text = TC[2].Name;. SelectedIndex++;;
}6:
{(numericUpDown1. Value > numericUpDown3. Value) // Выбор победителя
{. Text = groupBox1. Text + «победитель чемпионата!!!»;
}
{(numericUpDown1. Value < numericUpDown3. Value)
{. Text = groupBox2. Text + «победитель чемпионата!!!»;
}
{(numericUpDown2. Value > numericUpDown4. Value)
{. Text = groupBox1. Text + «победитель чемпионата!!!»;
}
{. Text = groupBox2. Text + «победитель чемпионата!!!»;
}
}
}. SelectedIndex++;;
}
}
}{MessageBox. Show («В таблицу введены не все данные, или они введены некорректно», «Информация», MessageBoxButtons.OK, MessageBoxIcon. Information);}
}void tabControl1_TabIndexChanged (object sender, EventArgs e)
{_Next_Click (sender, e);
}}}
игра баскетбол программирование eurobasket
Больше работ по теме:
Предмет: Информационное обеспечение, программирование
Тип работы: Курсовая работа (т)
Новости образования
КОНТАКТНЫЙ EMAIL: [email protected]
Скачать реферат © 2017 | Пользовательское соглашение
ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ