На этом уроке мы создадим класс ServerShip для размещения кораблей. В нём будет вспомогательный метод ExtractShipCoords(), который матрицу кораблей сконвертирует в строчку GET данных для передачи их в РНР скрипт. Также будут некоторые сложности для получения этой матрицы в коде основной программы, нам придётся добавить новый метод в класс Ocean, изменить права доступа к матрице ships в классе Map.
Дата отправки отчёта:
21 августа 2016 г.
Задание выполнено: за
1 час. 42 мин.
Чему научился:
Создал новый скрипт, прокачал навыки с xml и чтением пришедших с сервера данных
Что было сложным:
Запустить серверную часть на локальном сервере, поскольку с орбиты VideoSchool.info мою "Звезду" какой-то... Люк Скайуокер уже сбил, а с локальными копиями еще разобраться надо было, где какой релиз
Комментарии:
так же пришлось отработать ошибки, приходящие с сервера, чтобы квадрат (океан) отображался нормально, нужный статус был и т.д. но в общем и целом всё запустилось, всё заработало, и Звезда снова на орбите, а флагман расставляет корабли и получает информацию о кораблях противника. В тесте согласился поучаствовать лучший во вселенной пилот - Чубакка)
Красавчик, креативно реализовал задачу =) но как обычно, есть над чем поработать, по поводу ошибок приходящих с сервера, это на стороне сервера были? или пытался исправлять их на стороне клиента? просто написано не однозначно, сразу куча мыслей о причине происходящего (то-ли php обновил и депрекейты пришлось устранять, то-ли из-за давности позабыл что где и накуралесил, то-ли отложил задачу именно из-за этих самых ошибок, временно занявшись другими курсами...)
Иван, по поводу ошибок: да, ошибки приходили со стороны сервера (теги error), но "инициатором" их был клиент. Устранял их синхронной работой "и там, и там". По причинам происходящего: в общем-то было всего понемногу, что ты перечислил, кроме обновления php (он у меня с 2013 года не обновлялся)
Научился: Создавать класс ServerShip для размещения кораблей.
Реализовывать метод ExtractShipCoords(), формирующий в строчку GET данных для передачи их в РНР скрипт.
Изменять права доступа к матрице ships в классе Map.
Трудности: Непонятно, почему в методе Create() класса Ocean мы должны вызывать метод map.PlaceShip(); 2, 3, или 4 раза? Ведь количество размещаемых кораблей определено в таблице ff_info.