Методпособие_2_семестр
.pdftimer.Start();
}
//8
private void timer_Tick(object sender, EventArgs e) { if (isGameOver())
return;
Random random = new Random(); int iNum, jNum;
while (true) |
{ |
|
|
iNum = random.Next(0, |
sizeField); |
|
|
jNum = random.Next(0, |
sizeField); |
|
|
if (arrGame[iNum, |
jNum] < valGuessEmpty) |
{ |
|
arrGame[iNum, |
jNum] += 10; |
|
|
countItems++; |
|
|
|
if (arrGame[iNum, |
jNum] > valGuessEmpty) |
{ |
|
countGuess++; |
|
|
if (arrGame[iNum, jNum] == valGuessTriangle) countTrianglePC++;
else if (arrGame[iNum, jNum] == valGuessEllipse) countEllipsePC++;
} |
|
|
doShowGrid(); |
|
|
doShowCount(); |
|
|
pctField_Paint(this, null); |
|
|
timer.Stop(); |
|
|
break; |
|
|
} |
|
|
} |
|
|
isGameOver(); |
|
|
} |
|
|
//7 |
|
|
private bool isGameOver() |
{ |
|
if (countGuess == countTriangle + countEllipse || |
|
|
countItems == sizeField * sizeField) |
{ |
|
timer.Stop(); |
|
|
if (countTriangleUser + countEllipseUser > countTrianglePC + countEllipsePC) MessageBox.Show("Вы выйграли со счетом " + (countTriangleUser +
countEllipseUser).ToString() +
":" + (countTrianglePC + countEllipsePC).ToString(), "Итог игры");
else if (countTriangleUser + countEllipseUser < countTrianglePC + countEllipsePC) MessageBox.Show("Вы проиграли со счетом " + (countTriangleUser +
countEllipseUser).ToString() +
":" + (countTrianglePC + countEllipsePC).ToString(), "Итог игры");
else
MessageBox.Show("Ничья " + (countTriangleUser + countEllipseUser).ToString() + ":" + (countTrianglePC + countEllipsePC).ToString(), "Итог игры");
return true;
}
else
return false;
} |
|
private void btnShow_Click(object sender, EventArgs e) |
{ |
if(btnShow.Text.CompareTo("->") == 0){ |
|
this.Width = grid.Left + grid.Width + 25; |
|
btnShow.Text = "<-"; |
|
} |
|
else{ |
|
21
this.Width = btnShow.Left + btnShow.Width + 25; btnShow.Text = "->";
}
|
|
} |
|
|
|
private void mnuSettings_Click(object sender, EventArgs e) |
{ |
|
|
FormSettings frmSet = new FormSettings(); |
|
|
|
if (frmSet.ShowDialog() == DialogResult.OK) |
|
|
|
pctField_Paint(this, null); |
|
|
|
} |
|
|
|
//5 |
|
|
|
private void pctUser_Paint(object sender, PaintEventArgs e) |
{ |
|
|
DrawFigure.doDrawTriangle(graphUser, DrawFigure.penTriangle, DrawFigure.brushTriangle, |
|
30 / 10, 0, 0); |
|
||
|
|
DrawFigure.doDrawEllipse(graphUser, DrawFigure.penEllipse, DrawFigure.brushEllipse, 30 / |
|
10, |
30, |
0); |
|
|
|
} |
|
|
|
//6 |
|
|
|
private void pctPC_Paint(object sender, PaintEventArgs e) |
{ |
|
|
DrawFigure.doDrawTriangle(graphPC, DrawFigure.penTriangle, DrawFigure.brushTriangle, 30 |
|
/ 10, 0, 0); |
|
||
|
|
DrawFigure.doDrawEllipse(graphPC, DrawFigure.penEllipse, DrawFigure.brushEllipse, 30 / |
|
10, |
30, |
0); |
|
|
|
} |
|
|
|
private void mnuExit_Click(object sender, EventArgs e) |
{ |
|
|
Close(); |
|
|
} |
} |
|
|
|
|
22
Лабораторная работа №9. Работа с одномерными и двумерными массивами
Цель работы: создать приложение с графическим интерфейсом для работы с одномерными и двумерными массивами.
План работы: в течение четырех занятий студент должен изучить материал текущей лабораторной работы и продемонстрировать свои навыки преподавателю. В
результате чего студент получает две оценки: за приложение и за изученный материал.
Задание: Создать приложение для работы с массивами в соответствии с заданным
вариантом.
Требование к приложению:
Предусмотреть возможность работы приложения с двумерными и одномерными массивами;
Предусмотреть возможность сохранения и открытия одномерных и двумерных массивов;
Обрабатывать все возможные исключительные и проблемные ситуации,
которые могут привести к ошибке и некорректному завершению приложения.
Требование к отчету:
1.Титульный лист: номер и название лабораторной работы.
2.Текст задания.
3.Форма в процессе проектирования и выполнения.
4.Структура приложения.
5.Таблица свойств объектов.
6.Список идентификаторов.
7.Блок-схема алгоритма.
8.Программные коды.
23
Лабораторная работа №10. Массивы и коллекции
Цель работы: создать приложение с графическим интерфейсом для работы с массивами и коллекциями.
План работы: в течение трех занятий студент должен изучить материал текущей лабораторной работы и продемонстрировать свои навыки преподавателю. В результате чего студент получает две оценки: за приложение и за изученный материал.
Задание: Создать приложение для работы с массивами в соответствии с заданным
вариантом.
Требование к приложению:
Реализовать приложение в виде трех форм:
o Главная форма с двумя кнопками: «Массив int[]», «Коллекция» o Форма «Массив int[]»
oФорма «Коллекция»
Решение заданий должно выполняться в соответствии с заголовком формы,
соответственно при помощи массива int[], или коллекций: List, ArrayList, LinkedList
(вид коллекции на усмотрение студента);
Обрабатывать все возможные исключительные и проблемные ситуации,
которые могут привести к ошибке и некорректному завершению приложения.
Требование к отчету:
1.Титульный лист: номер и название лабораторной работы.
2.Текст задания.
3.Форма в процессе проектирования и выполнения.
4.Структура приложения.
5.Таблица свойств объектов.
6.Список идентификаторов.
7.Блок-схема алгоритма.
8.Программные коды.
24
Лабораторная работа №11. Работа с коллекциями
Цель работы: создать приложение для работы с коллекциями.
План работы: в течение трех занятий студент должен изучить материал текущей лабораторной работы и продемонстрировать свои навыки преподавателю. В результате чего студент получает две оценки: за приложение и за изученный материал.
Задание: создать приложение в соответствии с заданным вариантом.
Требования к приложению:
В случае, если коллекцию возможно использовать как обобщенную, так и необобщенную, необходимо работать с коллекцией как с обобщенной. В качестве типов данных допускается использование как любых базовых типов данных (типы значений), так и ссылочных, например, string, по усмотрению студента;
Все данные, необходимые для реализации задания вводятся пользователем посредством графических элементов управления;
Вывод для коллекций, состоящих из пары «ключ-значение» предусмотреть вывод в трех вариантах на выбор пользователя:
o ключ-значение,
o только ключи,
oтолько значения.
После любого действия, изменяющего значение списка, или порядок их следования выводить значение списка на экран;
После любого действия, изменяющего количество элементов в списке выводить информацию о количестве элементов в списке;
Обрабатывать все возможные исключительные и проблемные ситуации,
которые могут привести к ошибке и некорректному завершению приложения.
Требование к отчету:
1.Титульный лист: номер и название лабораторной работы.
2.Текст задания.
3.Форма в процессе проектирования.
4.Структура приложения.
5.Таблица свойств объектов.
25
6.Список идентификаторов.
7.Программные коды.
Ссылки на MSDN:
http://msdn.microsoft.com/ru-ru/library/dd412070.aspx http://msdn.microsoft.com/ru-ru/library/he2s3bh7.aspx http://msdn.microsoft.com/ru-ru/library/f7fta44c.aspx http://msdn.microsoft.com/ru-ru/library/system.collections.queue.aspx http://msdn.microsoft.com/ru-ru/library/ms132319.aspx http://msdn.microsoft.com/ru-ru/library/system.collections.arraylist.aspx http://msdn.microsoft.com/ru-ru/library/system.collections.hashtable.aspx http://msdn.microsoft.com/ru-ru/library/system.collections.stack.aspx http://msdn.microsoft.com/ru-ru/library/bb359438.aspx http://msdn.microsoft.com/ru-ru/library/xfhwa508.aspx
26
Лабораторная работа №12. Работа со строками
Цель работы: создать приложение для работы со строками.
План работы: в течение двух занятий студент должен изучить материал текущей лабораторной работы и продемонстрировать свои навыки преподавателю. В результате чего студент получает две оценки: за приложение и за изученный материал.
Задание: создать приложение в соответствии с заданным вариантом.
Требования к приложению:
Обрабатывать все возможные исключительные и проблемные ситуации, которые могут привести к ошибке и некорректному завершению приложения.
Требование к отчету:
1.Титульный лист: номер и название лабораторной работы.
2.Текст задания.
3.Форма в процессе проектирования.
4.Структура приложения.
5.Таблица свойств объектов.
6.Список идентификаторов.
7.Программные коды.
Ссылка на MSDN: http://msdn.microsoft.com/ru-ru/library/system.string.aspx
27