Skip to content

Development of a clicker game by a team of developers

Notifications You must be signed in to change notification settings

yur4kur/UiLuxury_TeamProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 

Repository files navigation

CoinsRain

Игра типа «кликер», ставящая целью прокачку игрока через зарабатывание монет путем нажатия на кнопку и покупки модификаторов к этой кнопке. Приложение выполнено на архитектуре МВВМ с использованием паттерна Координатор и кастомных расширений UI-элементов. На текущий момент в приложении намеренно использованы только нативные элементы. Выпущена в релиз альфа-версия проекта.

1 2

Технологии

Стек технологий
  • Архитектура: МВВМ(KVO)
  • Навигация: паттерн Координатор, UINavigationController, UITabBarController
  • Передача данных: Координатор, Синглтон (для моковых данных)
  • Верстка UI: кодом
  • Фреймворки и библиотеки: UKit, Core Animation, AVFoundation
  • UI-стек: UITableView, UIScrollView, UIPageControl
  • Анимация: UIDynamicAnimator, CAKeyframeAnimation
  • Звук: AVAudioPlayer
  • Тактильный отклик: UIFeedbackGenerator

План корректировок по результатам альфа-версии

Ближайшие доработки
  • Оптимизация кода экрана «Команда»
  • Внедрить сохранение прогресса пользователя (хотя бы в UserDefaults)
  • Перекрыть все сервисные слои протоколами

План развития проекта

Дальнейшие доработки
  • Внедрить полноценную авторизацию пользователей с сетевым слоем

  • Хранение пользовательских данных реализовать во внешнем хранилище

  • Синхронизировать внешнее хранилище с локальным

  • Доработать игровую анимацию и озвучку с использованием внешних библиотек

  • Доработать игровую систему: расширить список товаров, проработать уровни достижений

Код-стайл

Обязательные требования Используйте марки для организации кода в логические блоки функциональности. Каждую марку следует помечать "// MARK: -", а дополнительные внутри большого блока "// MARK:" для придания большей читаемости кода.

Следующая последовательность является обязательной для следования:

// MARK: - Types

// MARK: - "Имя класса"

// MARK: - Public Properties

// MARK: - Private Properties

// MARK: - Initializers

// MARK: - Lifecycle methods

// MARK: - Public methods

// MARK: - Private Methods

Далее private extensions:

// MARK: - Configure UI

func setupUI{} - контейнер, который вызываем во viewDidLoad

// MARK: - Setup UI

func addSubviews{} - контейнер views контроллера

func setupViews{} - настройка вида контроллера

func setup/название элемента/

// MARK: - Constraints

func setupConstraints{}

// MARK: - Constants

enum Constants { static let... }

About

Development of a clicker game by a team of developers

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages