Курсы по программированию

Формула программиста
основатель — Волосатов Евгений Витольдович

Микроигры / Крестики-Нолики. Игра с компьютером

  • На этом уроке мы добавим в игру Крестики-Нолики искуственный интеллект.
    Мы напишем алгоритм, который будет искать наилучший ход для позиции.
  • Дата отправки отчёта: 25 апреля
  • Задание выполнено: за 3 час. 50 мин.
  • Чему научился: Повторил работу с STL алгоритмами поиска, подсчета элементов, созданием своего функтора поиска выигрышной линии.
  • Что было сложным: 1) Реализовать асинхронный выбор ячейки для Игрока-Человек.
    2) Выиграть у компьютера игрой ноликами (второй скриншот).
  • Комментарии: Логика работы игры Крестики-Нолики была написана в прошлом уроке. Мне не хотелось менять, ломать, модифицировать работающий код.  По сути, нет разницы кто играет, человек или компьютер, правила игры от этого не меняются. Главное, чтобы игрок мог посмотреть на игровое поле, оценить ситуацию и сообщить координаты хода. Поэтому искал решение, пришел к похожему варианту, предложенному во второй части курса ООП. Выделил интерфейс Игрок, реализовал его в двух классах Игрок-Человек и Игрок-Компьютер. Добавил новую оболочку для Логики, которая принимает ввод от Игрока и перенаправляет его Логике. Здесь были некоторые проблемы со вводом от Игрока-Человека, так как он асинхронный. Алгоритм Компьютера не менял, взял из урока.

    Результатом доволен, понравилось играть с компьютером :)
  • Оценка видео-уроку:
Отчёт от 7276 за Микроигры / Крестики-Нолики. Игра с компьютером


Отчёт от 7276 за Микроигры / Крестики-Нолики. Игра с компьютером




Оцени работу

 
Сохранить страницу:

7276. Ильшат
Ильшат
ответить
→  Евгений Витольдович  # Микроигры / Крестики-Нолики. Игра с компьютером / 2016-04-25 18:22

Спасибо, Евгений Витольдович, я крестиками довольно быстро обыграл компьютер (на первом скриншоте), а вот ноликами в основном ничья, бывало и проигрывал:) В дополнении реализовал игру компьютера против компьютера, было интересно посмотреть на их ходы.


1. Евгений Витольдович
Евгений Витольдович
ответить
→  Ильшат  # Микроигры / Крестики-Нолики. Игра с компьютером / 2016-04-25 17:48

Молодец, Ильшат!
Если очень постараться - то компьютер можно обыграть.


  • Отчёт оценивали:
    7119Новопашин Владимир+1   3506Алексей|BrisK|Кривицкий+1   7645Александр Львович+1   6452Lik_Kirill+1   8380zhikharevav+1   1537Сергей+1   1Евгений Витольдович+1   4467Alcatraz+1   9237Mais+1   689Igorenzia+1   10063John Doe0   6925Артём+1   4992Николай+1   4395Денис+1   9263Андрей Н.+1   1947Denis+1   9366Sman Diana+1   9288Pučko Antonina+1   6670Николай0   5565Frank+1   7486lenax+1   7187Natalja Piga+1  

Начинаем практику по языку C#




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.
Научился: Созданию искуственного интеллекта
Трудности: ИИ
Все отлично!
Научился: Повторил работу с STL алгоритмами поиска, подсчета элементов, созданием своего функтора поиска выигрышной линии.
Трудности: 1) Реализовать асинхронный выбор ячейки для Игрока-Человек. 2) Выиграть у компьютера игрой ноликами (второй скриншот).
Логика работы игры Крестики-Нолики была написана в прошлом уроке. Мне не хотелось менять, ломать, модифицировать работающий код. По сути, нет разницы кто играет, человек или компьютер, правила игры от этого не меняются. Главное, чтобы игрок мог посмотреть на игровое поле, оценить ситуацию и сообщить координаты хода. Поэтому искал решение, пришел к похожему варианту, предложенному во второй части курса ООП. Выделил интерфейс Игрок, реализовал его в двух классах Игрок-Человек и Игрок-Компьютер. Добавил новую оболочку для Логики, которая принимает ввод от Игрока и перенаправляет его Логике. Здесь были некоторые проблемы со вводом от Игрока-Человека, так как он асинхронный. Алгоритм Компьютера не менял, взял из урока. Результатом доволен, понравилось играть с компьютером :)