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

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

СКАЧАТЬ (btnStartStop. Text == «Start Game»)

      {

      btnStartStop. Text = «Stop Game»;

      grpPlayers. Enabled = false;

      grpFirst. Enabled = false;

      grpComputer. Enabled = false;

      btnExit. Enabled = false;

      xTurn = true;

      lblMessage. Text = «X’s Turn»;

      // reset boxes

      for (int i = 0; i <9; i++)

      {

      boxArray [i].Text = «»;

      boxArray[i].BackColor = Color. White;

      }

      canClick = true;

      numberClicks = 0;

      gameOver = false;

      if (rdoComputerFirst.Checked &&

      rdoOnePlayer.Checked)

      ComputerTurn ();

      }

      else

      {

      btnStartStop. Text = «Start Game»;

      if (!gameOver)

      lblMessage. Text = «Game Stopped»;

      grpPlayers. Enabled = true;

      if (rdoOnePlayer.Checked)

      {

      grpFirst. Enabled = true;

      grpComputer. Enabled = true;

      }

      btnExit. Enabled = true;

      canClick = false;

      }

      }

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

      Листинг 11.4. Метод.

      private void btnExit_Click (object sender, EventArgs e)

      {

      this.Close ();

      }

      В панели Properties для второго переключателя на вкладке Events дважды щёлкаем по имени события Click. Появившийся шаблон метода после записи нашего кода принимает следующий вид.

      Листинг 11.5. Метод.

      private void rdoOnePlayer_Click (object sender, EventArgs e)

      {

      grpFirst. Enabled = true;

      grpComputer. Enabled = true;

      }

      В панели Properties для первого переключателя на вкладке Events дважды щёлкаем по имени события Click. Появившийся шаблон метода после записи нашего кода принимает следующий вид.

      Листинг 11.6. Метод.

      private void rdoTwoPlayers_Click (object sender, EventArgs e)

      {

      grpFirst. Enabled = false;

      grpComputer. Enabled = false;

      }

      Если мы желаем, чтобы при завершении игры с результатом «Ничья» или «Победа» звучала соответствующая музыка, необходимо раскомментировать строки кода, в которых есть слово «Sound», и отладить проект.

      Строим и запускаем программу на выполнение обычным образом: Build, Build Selection; Debug, Start Without Debugging.

      В ответ Visual Studio выводит форму Form1 с показанным выше полем игры из 9 клеток.

      Далее Игрок играет с Компьютером или Игрок 1 играет с Игроком 2 в крестики-нолики согласно приведённым выше правилам.

      По методике данной главы можно разрабатывать самые разнообразные игры в крестики-нолики как для игры Игрока с Компьютером, так и для игры Игрока 1 с Игроком 2.

      Глава 12. Методика программирования искусственного интеллекта в игре в «Крестики-нолики» на сетке 6x7

      12.1. Общие сведения

      Разработаем методику проектирования и программирования типичной и широко распространённой игры типа игры в крестики-нолики. Известно много вариантов этой игры как в ручном, так и в компьютерном варианте.

      В ручном варианте смысл игры состоит в том, что, например, в тетради в клеточку на поле из квадратов, например, 6 x 7 квадратов (цифры соответствуют количеству квадратов по оси абсцисс «x» и оси ординат «y») два игрока по очереди выделяют квадраты крестиками и ноликами, стараясь первым выделить горизонтальную, СКАЧАТЬ