Задание 3 Stanford CS 193P Spring 2020. Игра Set.

Решение обязательных и дополнительных пунктов.

Содержание

Цель этого задания состоит в том, чтобы дать вам возможность создать свое первое приложение полностью с «нуля» и самостоятельно. Оно похоже на первые два Задания, которое помогло обрести вам уверенность, но и достаточно отличающееся, чтобы дать вам полную свободу для накопления опыта!

Так как цель этого Задания — создать приложение с «нуля», то не начинайте с кода Задания 2, начинайте с New → Project в Xcode. .

Текст Домашнего Задания 3 на английском языке доступен на  сайте Stanford CS193P (Lecture 6 Assignment 3). На русском языке вы можете посмотреть и скачать Задание 3 здесь.

Вы, конечно, захотите освежить в памяти правила игры Set.

Мое решение Задания 3 находятся на Github  для iOS 14 и Xcode 12.

Пункты 1, 2 и 6 обязательные

1. Реализуйте игру Set в версии соло (для одного игрока).

2. Когда ваша игра запускается в первый раз, карты на короткое время не должны отображаться, но как только они появляются, необходимо немедленно сдать 12 карт, заставляя их «прилетать» из случайных мест за пределами экрана.

6. Пользователи должны иметь возможность выбрать до 3 карт, прикоснувшись к ним, чтобы попытаться создать Set (т. е. 3 совпадающие карты (matching) в соответствии с правилами игры Set). Пользователю должно быть ясно видно, какие карты уже были выбраны.

Читать далее

По следам CS193P 2020 — SwiftUI Playing Card Memorize

Меня настолько впечатлила легкость интеграции UIViews в  SwiftUI, с одной стороны, и возможность настройки карточной игры «на совпадение» MemorizeGame <ContentCard> на любое содержание карты ContentCard, с другой стороны, что я решила попробовать создать такую же игру Memorize с игральными картами PlayingCard вместо карт с эмоджи. Моя задача облегчалась тем, что Пол Хэгерти уже создавал игральную карту на прошлом курсе CS193P 2017 Лекция 6, и я могу взять эту досконально  спроектированную игральную карту в свой проект в неизменном виде:

Помимо работы с игральными картами, я хочу расширить логику и UI игры Memorize на игру с картами, которые могут быть заменены в случае совпадения на новые карты из колоды карт. Эта логика и UI могут пригодится при выполнении Задания 3 курса CS193P 2020, в котором требуется разработать приложение для игры Set, в которой также есть колода карт, оговариваются условия «совпадения», но не 2-х карт, как в нашей игре, а 3-х.

Читать далее