Size: a a a

2019 December 27

VL

Vladimir Luvolunov in JS
В будущем отрефакторь код
источник

VL

Vladimir Luvolunov in JS
Я свой код поправлял из шахмат, наверное, помнишь, который на 500 строк
источник

ПВ

Павел Веденичев... in JS
Vladimir Luvolunov
Но я не такой трудолюбивый, чтобы всё вручную писать
Да там буквально 20 минут ушло
источник

VL

Vladimir Luvolunov in JS
Уменьшилось где-то на 100 строк и добавил прототайпы, чтобы методы не копировать
источник

VL

Vladimir Luvolunov in JS
Павел Веденичев
Да там буквально 20 минут ушло
Доооолго
источник

VL

Vladimir Luvolunov in JS
Я эти 20 минут мог пролежать на кровати)
источник

v

vlad3k in JS
А можешь логику кратко описать?
источник

v

vlad3k in JS
Если не в лом?)
источник

ПВ

Павел Веденичев... in JS
Vladimir Luvolunov
В будущем отрефакторь код
Ахахахах, надеюсь не получится как с калькулятором
источник

v

vlad3k in JS
Логику в плане того как ты именно это сделал
источник

ПВ

Павел Веденичев... in JS
vlad3k
Если не в лом?)
10 минут подожди мне сейчас отойти надо
источник

v

vlad3k in JS
Павел Веденичев
10 минут подожди мне сейчас отойти надо
да когда удобно будет, можешь в личку скинуть, просто интересно как ты решил)
источник

ПВ

Павел Веденичев... in JS
vlad3k
да когда удобно будет, можешь в личку скинуть, просто интересно как ты решил)
Ты с реактом знаком?
источник

v

vlad3k in JS
Поверхностно. Хуки ток не знаю.
источник

v

vlad3k in JS
У тебя на классах?
источник

v

vlad3k in JS
компоненты?
источник

ПВ

Павел Веденичев... in JS
Хорошо. Я когда начинал писать не знал как реализовать стыки у клеток, у меня было 2 идеи:
1. Сделать все поле не в виде клеток, а в виде полос (визуально бы выглядело так же, но в реализации совсем по-другому) но не получилось.
2. Сделать все поле в виде клеток, но как то решить проблему стыков, т.е у меня должно работать следующим образом: когда я закрашиваю правую сторону клетки, то у правой клетки должна закрашиваться правая сторона, чисто визуально кажется что это сторона общая, нг состояние у каждой клетки - свое.
Выбрав 2 варик я начал шаманить,  со стыками у клеток одного ряда проьлем не было, закрасил правую сторону - код закрашивает левую сторону у следующего квадратика, а если квадратик крайний, то ничего не произойдёт (там нет условия на проверку крайней клетки, там по интереснее).
Но когда дело касается верхних и нижних граней, тут уже геморой полный.
Объясню на примере:
У нас есть 1 строчка в которой 3 клетки и 2 строчка в которой 5 клеток, id начинается с нуля, когда я закрашиваю низ клетки с id 0, то я должен поменять состояние клетки под ней. А как её найти??? Потому что просто прибавив 5 я не решу проблему, это будет работать только в 1 и 2 строчке, а в 5 и 6 строчке кол-во клеток другое и решение должно быть другим, так как там надо прибавлять уже не 5 а все 14 клеток (я точно не помню, я говорю примерно). Я решил проблему следующим образом: я просто каждой клеточке, давал знать в каком она ряду (хотя сейчас понимаю, что можно было сделать по-другому) и исходя из ряда прибавлять или убавлять нужное кол-во клеток
источник

ПВ

Павел Веденичев... in JS
vlad3k
компоненты?
Вот
источник

v

vlad3k in JS
Спасибо, сейчас постараюсь понять)
источник

ПВ

Павел Веденичев... in JS
Чет я долго писал)
источник