Играл в крестики-нолики, мелом на асфальте? Я играл, и очень много, был непревзойдённым профессионалом в своём дворе, изучил все ходы-выходы в этой программе, и замахнулся на создание искусственного интеллекта! :) Игрушка не сложная, она отлично подходит для упражнения в программировании для программиста.
Дата отправки отчёта:
8 мая 2015 г.
Задание выполнено: за
4 час. 25 мин.
Чему научился:
Используя матрицу пиксель-боксов мы бы получили гораздо большую гибкость в написании кода. Кроме того, подход при котором мы сразу стали писать игру человек vs. человек можно назвать анти-ООП подходом. Я писал крестики-нолики еще зимой, изучая еще тогда яву (наверное третьи мои крестики-нолики), все равно любопытно было какой способ будет здесь. Хотя надо признать, что предыдущий вариант мне нравится больше. Там используется абстрактный класс для игрока (который потом развивается в классы для игрока-человека и игрока компьютера) и на выбор подключается в игру. Используется класс поле, который включает в себя и массив из экземпляров класса ячейка. Короче, почти вся ООП в одной игре. Из плюсов у Витольдовича - просто и качественно реализована логика ИИ. Плюс вынесение в отдельный класс логики - это видимо шаг к появлению в будущем (а может такой уже есть, да я не видел) урока с использованием шаблона проектирования Model-View-Presenter . Ничего, что я тут поумничал? )))))
P.S. Добавил таймер, уж больно плохо воспринимается без задержки хода от компьютера. P.S.S Повозился и хорошо повторил вывод и передачу out и ref в функциях.
Что было сложным:
ИскИн
Комментарии:
Подглядывал за Витольдовичем, но написал по-своему. Чувствую удовлетворение.
Алекс, я считаю, что имеет смысл опробовать самые разные способы решения задач, именно поэтому у нас так много игрушек и все пишутся с нуля и по-разному. Только когда сам через себя пропустишь разные решения - поймёшь, как нужно делать, а как не стоит, и, главное, ПОЧЕМУ ТАК. Молодец!
Научился: Отработал работу с классами Трудности: Ничего.
Урок составлен просто отлично. Очень понимает понять логику графическое отображение логики программы.