Домашнее задание. Задание из двух частей, первая это прочитать и сделать сопутствующие задания из книги Big Nerd Ranch iOS Programming, Раздел 4 Views and Views Hierarchy. Все сопровождается кодом и скриншотами проблем не должно с этим быть. Вторая часть - довести до ума нашу игру, описание ниже.
- Добавить UILabel и выводить в него текущий счет.
- Добавить UILabel и выводить лог происходящего, возможные варианты событий:
- открыли карту 3♣, вы потеряли N очков
- закрыли карту 3♣, счет остался прежним
- карты 3♣ и 8♠ не совпали, вы потеряли M очков
- карты 3♣ т 5♣ совпали, вы получили K очков
- Если карты совпали по значению, тогда если карты совпадают и по цвету (бубны с чирвами или крести с пиками) сделайте дополнительный бонус (на ваше усмотрение его величина)
- Завершайте игру если возможных совпадений карт не осталось, для этого в UILabel c логом выводите сообщение что игра окончена и деактивируйте все карты, те карты для которых не нашлось пары переверните рубашкой вверх.
- При инициализации класса Game, создавайте вручную объект класса Card со значением Joker, эта карта совпадает с любой другой и дает свой бонус к счету (на ваше усмотрение его величина).
Дополнительное задание, желательно к выполнению
- Увеличьте количество карт до 24 (размер карт уменьшите чтоб все поместились на экран) и соедините добавленные карты с IBOutletCollection. Игра должна заработать без дополнительного кода (если не работает внесите правки в ваш код).
- Создайте наследник класса Game и реализуйте логику игры по следующим принципам:
- Игра заключается в поиске "похожих карт" но уже по три карты, а не по две
- Одновременно открытыми могут быть две карты, когда открывается третья карта происходит сравнивание трех карт, если среди трех карт есть одна схожая с двумя остальными, то начисляется суммарный счет за их сравнение. Например: открыли три карты 3♣ 6♣ и 6♥, совпадение найдено так как есть карта совпадение для 6♣ -> 3♣ (очки за совпадение по масти) и 6♣ -> 6♥ (очки за совпадение по значению).
- Если совпадение для трех карт не найдено, то первые две должны перевернуться рубашкой вверх, последняя открытая остается открытой, и начисляется антибонус.
- Должен начисляться дополнительный бонус если все три карты равны по масти и еще больший если равны по значению.
- Должен начисляться дополнительный антибонус если нет ни одного попарного совпадения среди трех карт (тоесть ни одна карта не совпадает с любой другой)