Mercury13, Wave:
крутит счётчик волн (уменьшает таймер визуальный);
хранит и вычисляет то, какие статы будут у врагов (в зависимости от количества пройденных волн);
дёргает метод спавна врагов (на активной фазе волны);
даёт монеточки в конце пройденной волны;
Про статические методы понял, спасибо. Про calculateDamageWithCrit тоже понял, вопрос лишь красоты, по факту это статический метод, который просто прописан как отдельная функция, не обязательно загонять его в класс.
На счёт Wave — это по факту класс цикла волн, где есть информация о текущем состоянии. Как такового, у самой волны никаких механик нет. Да, наверное можно как-то переименовать его.
Не до конца понял на счет Башни. Ну вот первый фрагмент кода у меня показывает, что в Game создается экземпляр tower и wave (Который можно бы переименовать в WaveLoop):
Aetae, Понял) Благодарю)) Пока React не привлекает, Vue нравится вообще всем. Говорят, чтобы быть мастером технологии, надо понять недостатки, но я пока не всё вижу во Vue) Хотя пишу так, для себя, мне достаточно... Нравится мне просто кодить)) Как стану сенсеем Vue, пойду дальше) Хотя у меня в планах заняться BackEnd, Node поучить, MongoDB, Express. Может Nuxt с его SSR. React слишком далеко и не факт)
Спасибо за то, что подтвердили моё понимание)
Aetae, Не хочется быть колдуном просто)) Хочется осознавать и не забывать чо происходит)) Просто когда я два месяца учу Vue и, к примеру, пишу {{ переменная }}, я уже и забыл, что в нативе это делается через querySelector('.foo').innerText. Ну и прочее подобное))
Aetae, Алексей Ярков, Так то да, но эта "магия" реактивности для меня не всегда понятна) читаю доки и на рус и на англ, пытаюсь заглянуть под капот(изучать глубже), но иногда туплю по базовым вещам (как в случае с этой функцией), иногда не могу найти ответ на простейший вопрос .
Как я понял все что в data -- реактивно. Computed отличается от Method тем, что методы мы сами вызываем (на клик, или другое действие), а computed реактивен. И реактивен он только тогда, когда внутри него есть хоть одна переменная которая реактивна. При её изменении (либо любой другой реактивной, если их несколько, достаточно одной из них) computed пересчитывается.
В Pinia, в отличии от Vuex, state сразу реактивен (== логике data). Getters == логике Computed, Actions == логике Methods. А все mapЫ это лишь сахар для читабельности и ёмкости.
+Computed без аргументов, а метод имеет аргументы.
Изучаю не так долго, но боюсь, что из-за этой магии, я забуду как писать нативный js)) Думаю в этом отчасти преимущество React над Vue, когда "магия" полу автоматическая и есть связь с нативным кодом. Но меня бесит JSX))
Мои понимания верны? Думаю все через это проходили...
Золотой ты человек!!! Вот я... Спасибо! Внимательность -30lvl.
Можно тогда еще вопрос по Pinia?
Вот если я обращаюсь в компонентах в computed или в других Store на useUsersStore.status, то все getters того стора в котором я обращаюсь тоже автоматически будут обновляться в тех компонентах, в которых они объявлены?
1. Спасибо большое за Pinia. Учусь где-то 2-й месяц. Для себя недавно открыл преимущества Vite на vue-cli, перешел на него. Теперь буду отходить от Vuex, потому что то что я глянул про Pinia мне нравится)) Действительно всё проще, но пока не понял недостатки Pinia (разве что надо теперь разобраться в теме Options API и Composition API, так как во многом в гайдах Pinia пишут по парадигме Composition, а я как понимаю, учился по Options). Единственное что не понял, теперь не нужно постоянно забирать данные через pinia getters, как во vuex, а можно напрямую с state, а getters только если нужна "мутация" данных? Я читал, что vuex нельзя (нежелательно) обращаться к state напрямую, лучше через getters (вроде как я понял из-за отсутствия реактивности в таких обращениях).
Ну, проект не такой большой, попытаюсь переписать его на Pinia тоже для собственной практики.
2. Спасибо за подсказку про couch/pouch db. Я думаю, что в данном проекте мне это не подойдёт, так как Back придется где-то на сервак кидать. Supabase в этом плане удобнее, что я за авторизацию не парюсь (тоже еще для меня муть с этими токенами, сессиями и прочим), вдобавок за Back вообще не парюсь, просто сервер тот работает на фри пакете. Буду видимо придумывать логику через localStorage (еще чот почитаю про LocalForage). Проект небольшой, сойдёт) А в дальнейших проектах, когда с Frontom разберусь получше и буду щупать Back активнее, обязательно займусь couch/pouch db)
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.