На этом уроке мы допишем пасьянс из Домино. Напишем методы IsWinner() и IsLooser(). Добавим метки для оповещения о результате игры и попытаемся наконец-таки разложить этот пасьянс. Не забудьте добавить эту программу в своё портфолио!
Внимание! В конце видео можно посмотреть на весь код целиком.
Дата отправки отчёта:
8 июня 2015 г.
Задание выполнено: за
2 час. 00 мин.
Чему научился:
скорее не "научился", а "подучился" ) Ну или "прокачался" ))
Что было сложным:
Разобраться в некоторых моментах логики
Комментарии:
Как обычно во время написания, возникают всякие ненормальные идеи мимо которых трудно пройти). Возникла идея хранить плашки в обычном массиве plate[], инкапсулировать его в класс какой-нибудь Plates и реализовать к нему свой именованный энумератор, чтоб обращаться можно было Plates[2,1], а он возвращал плашку plat[4]. Т.е. двумерного массива вроде как и нет, а плашки из ряда можно доставать так, как будто они у нас на поле лежат разложенные. Ни лишних тебе элементов в массиве, да еще и форичем можно пройтись. В общем провозился пару часов, никогда раньше энумераторы не реализовывал, но остался доволен. Потом перепишу игрушку без двумерных массивов. Я, думаю, что если рассматривать плашки как одномерный массив, проще логика будет и для открытых плашек отдельный список, чтоб меньше перебора и лишних проверок было.
Научился: Выполнил все задания. Трудности: Сложным было полностью разложить пасьянс, 20-25 попыток ушло на это. От себя добавил, то что когда плашка выделена и мы еще раз нажимаем на нее, выделение пропадает.
Научился: Играть в домино))) на самом деле изучил на примере домино как создаются одни из самых важных функций в любой игре - Победа и Проигрыш. Тестировал работу двух функций на совсем простом домино - с макс. числом 8, 6 и 3. Это чтоб побыстрее сдать отчет. А так еще хочу попробовать поиграть на больших массивах (вроде как присылал в первом отчете).