Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 2: Программирование на Visual C# искусственного интеллекта (продолжение 1). Валерий Алексеевич Жарков. Читать онлайн. Newlib. NEWLIB.NET

Автор: Валерий Алексеевич Жарков
Издательство: Издательские решения
Серия:
Жанр произведения: Компьютеры: прочее
Год издания: 0
isbn: 9785005680433
Скачать книгу
= true;

      hardToolStripMenuItem.Checked = false;

      normalToolStripMenuItem.Checked = false;

      //Easy

      Level = 3;

      b = new Connect4Board ();

      b.rec = Level;

      Invalidate ();

      }

      Дважды щёлкаем по команде Normal (Нормальный). Появляется шаблон метода, который после записи нашего кода принимает следующий вид.

      Листинг 12.7. Метод-обработчик выбора команды.

      private void normalToolStripMenuItem_Click (

      object sender, EventArgs e)

      {

      hardToolStripMenuItem.Checked = false;

      easyToolStripMenuItem.Checked = false;

      normalToolStripMenuItem.Checked = true;

      //Normal

      Level = 5;

      b = new Connect4Board ();

      b.rec = Level;

      Invalidate ();

      }

      Дважды щёлкаем по команде Difficult (Сложный). Появляется шаблон метода, который после записи нашего кода принимает следующий вид.

      Листинг 12.8. Метод-обработчик выбора команды.

      private void hardToolStripMenuItem_Click (

      object sender, EventArgs e)

      {

      hardToolStripMenuItem.Checked = true;

      easyToolStripMenuItem.Checked = false;

      normalToolStripMenuItem.Checked = false;

      //Hard

      Level = 7;

      b = new Connect4Board ();

      b.rec = Level;

      Invalidate ();

      }

      Схема записи и вывода справочной информации, например, с правилами игры после выбора дополнительной команды Справка (для элемента управления MenuStrip) дана ранее и в наших книгах на сайте ZharkovPress.ru в параграфе «Методика добавления информации в справочную форму».

      Мы закончили написание программы в главный класс Form1 (для формы Form1 с пользовательским интерфейсом игры).

      Теперь в наш проект добавляем новый файл (для программирования соответствующих игровых действий).

      Добавить в проект файл можно по двум вариантам.

      По первому варианту, добавляем в проект нужный файл по обычной схеме: в панели Solution Explorer выполняем правый щелчок по имени проекта, в контекстном меню выбираем Add, Existing Item, в панели Add Existing Item в окне «Files of type» выбираем «All Files», в центральном окне находим (например, в папке компьютера файл, скопированный из Интернета), выделяем имя этого файла и щёлкаем кнопку Add (или дважды щёлкаем по имени этого файла).

      По второму варианту, в панели Solution Explorer выполняем правый щелчок по имени проекта и в контекстном меню выбираем Add, New Item, в панели Add New Item выделяем шаблон Code File, в окне Name записываем имя Connect4Board. cs и щёлкаем кнопку Add. В проект (и в панель Solution Explorer) добавляется этот файл, открывается пустое окно редактирования кода, в которое записываем код со следующего листинга.

      Листинг 12.9. Новый файл.

      using System;

      using System. Drawing;

      using System.Collections;

      using System.Windows.Forms;

      namespace Connect4

      {

      public class Connect4Board

      {

      public Random random = new Random ();

      public int [,] arr = new int [7, 6];

      public int [,] thn = new int [7, 6];

      public int [] tops = new int [7];

      public int player, computer, endt = 0;

      public int plr = 1, cpu = 2, rec = 3, turn = 1;

      public int m, n, r, temp, so, ch, col, t, y;

      public int plrcoin, cpucoin;

      public int lin;

      public Connect4Board ()

      {

      }

      public int Think ()

      {

      int i;

      i = rec;

      return check (i, -9999999, 9999999);

      }

      public void turncheck ()

      {

      int temp;

      char [] toto = new char [20];

      temp = checkwin ();

      if (temp == plr)

      {

      MessageBox.Show («You won!»);

      endt = 1; return;

      }

      if (temp == cpu)

      {

      MessageBox.Show («You lost.»);

      endt = 1; return;

      }

      if (temp == 0)

      {

      for