Для самостоятельного изучения нужно будет разобраться с синтаксическими особенностями работы с массивами на Swift.
-
Создать новый лист в Playground для домашнего задания
-
В созданном листе реализовать 3 принципа ООП. https://javarush.ru/groups/posts/principy-oop#Абстракция-ООП, дополнительно почитать про принципы, которых нужно придерживаться при разработке SOLID, DRY, KISS, YAGNI https://tproger.ru/translations/oop-principles-cheatsheet/
-
Реализовать структуру данных дробное число в виде (4/5, где 4 числитель, а 5 знаменатель). Добавить операции умножения, деления, вывода, сложения, вычитания. https://www.cyberforum.ru/cpp-beginners/thread535234.html
-
Освежим знания c помощью ООП игры под названием Bully (гуглите) будем реализовывать бой, аналогичное задание за прошлые годы https://github.com/ZalyalovIldar/Lesson1:
- Вводные данные: есть протокол учеников Student от которого мы можем создать других учеников и протокол Arena, который имеет массив из двух фракции и метод startBattle()
- У каждого ученика есть Здоровье, Урон, Кричалка, Имя (зависит от фракции). Так же ученики могут атаковать можете придумать дополнительные методы.
- Студенты могут принадлежать одной из 4 фракций (сами придумаете)
Бой:
- Мы будем реализовывать сценарий схватки двух фракций в которых есть N учеников в одной фракции и M учеников во второй фракции.
- Бой может проходить на разных площадках (придумайте сами), которые могут иметь или не иметь свои пагубные и положительные последствия для учеников (в общем ваша фантазия не ограничена).
- После начала битвы можно услышать кричалки и увидеть кто на кого полез драться
- Правила битвы описываете сами, главное, чтобы по результатам битвы в консоль было выведено: какая фракция победила и какие потери понесли фракции. Критерии победы можете придумать сами.
- https://swift.org/documentation/ - документация Swift
- https://www.youtube.com/watch?v=UVlKhAiLpPw - как делать домашние задания
- https://github.com/raywenderlich/swift-style-guide - гайд по стилю написания кода (есть разные стили, вот этот чаще всего принят в командах разработки)