🗒 Задача¶
В приложении шахматы, ходы отправляются на сервер в виде строки формата [откуда-куда;номер хода]. Игрок начал партию ходом из E2 в E4. Все данные (откуда, куда, номер хода) инициализировать и хранить в отдельных переменных.
-
Напиши код, который сформирует строку для отправки, а затем выведет ее в консоль. Нужно "собрать" единую строку из объявленных переменных и сохранить в новую переменную (или сразу распечатывать).
-
Далее этим переменным нужно присвоить новые данные и вывести в консоль следующий ход белых. Определить, какое значение будет в переменной "куда" для фигуры, стоящей на D2 и продвинувшейся на одну клетку вперед.
❌ Ошибки¶
-
не соблюдение формата созданной строки для сервера
-
делают локальные функции
✏️ Комментарии¶
Обращаю внимание на пример строки для отправки на сервер [откуда-куда;номер хода]
В условии не случайно уточнен выводимый формат. Если формат готовой строки будет отличаться, то сервер не сможет ее распарсить и программа может упасть/не работать итд.
Предлагаю привести формат в соответствие с форматов в ТЗ)
Формат вывода не по условию)
Будь внимательнее к требованиям.
В реальных проектах, даже если тебе кажется что правильно по-твоему, лучше сделать как в требованиях.
В идеале, кончено, на этапе получения задачки от заказчика нужно уточнить корректность, но в нашем случае необязательно, так как ошибки нам только на пользу.
Все эти индексы в названии - плохой тон. Лучше использовать более релевантные названия, чтобы было сразу понятно принадлежность переменной)
Делать локальные функции в целом не грубая ошибка. Однако читаемость кода ухудшается, все таки функции призваны вынести логику из основного кода. А так получается что все в кучу
Создание класса и объекта не целесообразно для данной задачи. есть ряд причин. из основных это то, что MoveCount это не сущность с разными свойствами и действиями. его создание противоречит концепции ООП и требует больших затрат ресурсов. держим в уме, что это часть гипотетической программы по взаимодействию с сервером
Для возможности все таки иметь счетчик внутри getChessMove(), предлагаю в мейне объявить обычную переменную счетчика, передавать ее в функцию как параметр, затем инкрементить