Программное и аппаратное обеспечение программы




 

Для запуска игры достаточно любого компьютера, на котором установлена хоть какая-нибудь операционная система, семейство Windows.

 

Руководство пользователя

 

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



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-03-12 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: