Читать книгу Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 2: Программирование на Visual C# искусственного интеллекта (продолжение 1) - Валерий Алексеевич Карданов, Дарья Андреевна Самсонова, Наталья Сергеевна Кузьмина - Страница 5
Введение
11.3. Создание проекта
ОглавлениеСоздаём проект по обычной схеме: в VS в панели New Project в окне Project types выбираем тип проекта Visual C#, Windows, в окне Templates выделяем шаблон Templates, Visual C#, Windows Classic Desktop, Windows Forms App (.NET Framework), в окне Name записываем любое имя проекта, например, TicTacToe_variant1 и щёлкаем OK. Создаётся проект, появляется форма Form1 на экране в режиме проектирования.
C панели инструментов Toolbox переносим на форму элементы управления Control и устанавливаем для формы и элементов управления следующие свойства:
Form1 Form:
Property Name Property Value
Name frmTicTacToe
BackColor White
Text TicTacToe_variant1
FormBorderStyle Fixed Single
StartPosition CenterScreen
Size 478; 410
label1 Label:
Property Name Property Value
Name lblMessage
AutoSize False
BackColor Yellow
ForeColor Blue
BorderStyle Fixed3D
Font Style Bold
Font Size 24
Text X’s Move
TextAlign MiddleCenter
Location 12; 9
Size 272; 46
label2 Label:
Property Name Property Value
Name lblBox1
Font Microsoft Sans Serif; 48pt
AutoSize False
BorderStyle None
Font Size 48
Text X
TextAlign MiddleCenter
Location 12; 66
Size 76; 76
label3 Label:
Property Name Property Value
Name lblBox2
Font Microsoft Sans Serif; 48pt
AutoSize False
BorderStyle None
Font Size 48
Text X
TextAlign MiddleCenter
Location 110; 66
Size 76; 76
label4 Label:
Property Name Property Value
Name lblBox3
Font Microsoft Sans Serif; 48pt
AutoSize False
BorderStyle None
Font Size 48
Text X
TextAlign MiddleCenter
Location 208; 66
Size 76; 76
label5 Label:
Property Name Property Value
Name lblBox4
Font Microsoft Sans Serif; 48pt
AutoSize False
BorderStyle None
Font Size 48
Text X
TextAlign MiddleCenter
Location 12; 177
Size 76; 76
label6 Label:
Property Name Property Value
Name lblBox5
Font Microsoft Sans Serif; 48pt
AutoSize False
BorderStyle None
Font Size 48
Text X
TextAlign MiddleCenter
Location 110; 177
Size 76; 76
label7 Label:
Property Name Property Value
Name lblBox6
Font Microsoft Sans Serif; 48pt
AutoSize False
BorderStyle None
Font Size 48
Text X
TextAlign MiddleCenter
Location 208; 177
Size 76; 76
label8 Label:
Property Name Property Value
Name lblBox7
Font Microsoft Sans Serif; 48pt
AutoSize False
BorderStyle None
Font Size 48
Text X
TextAlign MiddleCenter
Location 12; 287
Size 76; 76
label9 Label:
Property Name Property Value
Name lblBox8
Font Microsoft Sans Serif; 48pt
AutoSize False
BorderStyle None
Font Size 48
Text X
TextAlign MiddleCenter
Location 110; 287
Size 76; 76
label10 Label:
Property Name Property Value
Name lblBox9
Font Microsoft Sans Serif; 48pt
AutoSize False
BorderStyle None
Font Size 48
Text X
TextAlign MiddleCenter
Location 208; 287
Size 76; 76
label11 Label (used as grid line – make very skinny):
Property Name Property Value
Name label11
AutoSize False
BackColor Blue
BorderStyle None
Text [blank]
Location 12; 151
Size 272; 13
label12 Label (used as grid line – make very skinny):
Property Name Property Value
Name label12
AutoSize False
BackColor Blue
BorderStyle None
Text [blank]
Location 12; 263
Size 272; 13
label13 Label (used as grid line – make very skinny):
Property Name Property Value
Name label13
AutoSize False
BackColor Blue
BorderStyle None
Text [blank]
Location 94; 66
Size 10; 298
label14 Label (used as grid line – make very skinny):
Property Name Property Value
Name label14
AutoSize False
BackColor Blue
BorderStyle None
Text [blank]
Location 192; 66
Size 10; 298
groupBox1 Group Box:
Property Name Property Value
Name grpPlayers
AutoSize False
BackColor Blue
Text [blank]
Location 295; 12
Size 156; 74
radioButton1 Radio Button:
Property Name Property Value
Name rdoTwoPlayers
AutoSize False
ForeColor White
Font Size 9
Text Two Players
Checked True
Location 13; 19
Size 91; 19
radioButton2 Radio Button:
Property Name Property Value
Name rdoOnePlayer
AutoSize False
ForeColor White
Font Size 9
Text Player – Computer
Location 13; 44
Size 137; 19
groupBox2 Group Box:
Property Name Property Value
Name grpFirst
AutoSize False
BackColor Blue
Text [blank]
Location 295; 92
Size 156; 74
radioButton3 Radio Button:
Property Name Property Value
Name rdoYouFirst
AutoSize False
ForeColor White
Font Size 9
Text You Go First
Checked True
Location 13; 19
Size 91; 19
radioButton4 Radio Button:
Property Name Property Value
Name rdoComputerFirst
AutoSize False
ForeColor White
Font Size 9
Text Computer Goes First
Location 13; 44
Size 137; 19
groupBox3 Group Box:
Property Name Property Value
Name grpComputer
AutoSize False
BackColor Blue
Text [blank]
Location 295; 172
Size 156; 74
radioButton5 Radio Button:
Property Name Property Value
Name rdoRandom
AutoSize False
ForeColor White
Font Size 9
Text Random Computer
Checked True
Location 13; 19
Size 130; 19
radioButton6 Radio Button:
Property Name Property Value
Name rdoSmart
AutoSize False
ForeColor White
Font Size 9
Text Smart Computer
Location 13; 44
Size 115; 19
button1 Button:
Property Name Property Value
Name btnStartStop
AutoSize False
Font Size 10
Text Start Game
Location 308; 263
Size 123; 36
button2 Button:
Property Name Property Value
Name btnExit
AutoSize False
Font Size 10
Text Exit
Location 308; 305
Size 123; 36
Форма приняла вид, показанный на рис. 11.8.
Рис. 11.8. Форма Form1 после проектирования.
Выделяем элемент управления lblBox1, в панели Properties для этого элемента на вкладке Events выделяем событие Click, щёлкаем стрелку и из выпавшего списка выбираем событие lblBox1_Click (рис. 11.9).
Аналогично поступаем для остальных элементов управления lblBox2, lblBox3, lblBox4, lblBox5, lblBox6, lblBox7, lblBox8, lblBox9.
Рис. 11.9. Выделяем lblBox1 и выбираем событие lblBox1_Click.
На рис. 11.12 слева – сетка для игры Tic Tac Toe. Элементы управления Label имеются в большом количестве. Элемент управления Label используется, чтобы сказать Вам ситуацию в игре. Метки используются для маркировки X и O в сетке (несмотря на то, что только X показывают в этом режиме проектирования). Тонкие элементы управления Label используются для формирования тёмно-синей сетки. Справа три средства управления GroupBox и две Button. Каждый GroupBox содержит два средства управления типа переключателя RadioButton, используемые для установления игровых опций. Эти два кнопочных управления Button используются, чтобы запустить и остановить игру и выйти из программы.
Если в игре применяются звуковые файлы, то их можно разместить в одной папке с именем, например, Sounds, а можно разместить непосредственно в проект. Добавляем в проект звуковые файлы beep. wav и tada. wav по стандартной схеме: выполняем правый щелчок по имени проекта, в контекстном меню выбираем Add, Existing Item, в панели Add Existing Item в окне «Files of type» выбираем «All Files», в центральном окне находим (в папке файлы, например, из Интернета) и с нажатой клавишей Ctrl выделяем имена файлов и щёлкаем кнопку Add. В панели Solution Explorer мы увидим эти файлы (рис. 11.10).
Дважды щёлкая по имени файла в панели Solution Explorer, любой файл можно открыть, изучить и редактировать.
Схема записи и вывода справочной информации, например, с правилами игры после выбора команды Справка (например, для элемента управления MenuStrip) уже была дана в другой главе, а также в книгах с сайта ZharkovPress.ru.
Рис. 11.10. Панели Solution Explorer (слева) и Properties (справа).