На этом уроке мы напишем функцию do_ship(). Разберём ещё раз все возможные ошибки расстановки кораблей, сформируем код и текст ошибки, который вернём в xml. После успешного размещения всех кораблей мы поменяем статус игры на "play" и начнём уже играть.
Дата отправки отчёта:
10 сентября 2015 г.
Задание выполнено: за
4 час. 00 мин.
Чему научился:
Главное - внимательности. :))) Познавательно и увлекательно.
Что было сложным:
Поиск ошибок - самое сложное. Так быстро привыкаешь к хорошему, что не замечаешь какое оно такое хорошее, пока не окунёшься в другое. :) В плане поиска ошибок и проверки кода - лучше студии нет. :)
Комментарии:
Вопросов накопилось очень много! 1. Получается одновременно на сервере будет идти только одна игра - так сказать один стол. Или я не правильно понимаю? 2. Значит всё таки лучше все проверки на правильность входящих данных и на правильность заполнения поля проводить до их записи в БД?? 3.Насколько то же самое труднее исполнить на сервере с C#? И так можно долго - вопросов много...
Отвечаю на вопросы. 1. Да, только одна. Это сделано для упрощения реализации. Кто захочет - добавит много игр, это вполне возможно, нужно расширить таблицу "info", добавив уникальное поле - номер запущенной игры. 2. Да, лучше всё проверять до записи в базу. 3. Сначала нужно такой сервер найти, это будет win-vps, наверное, ну и обрабатывать запросы... Не то чтобы сложнее, но так обычно не делают или если и делают, то совсем не так. Для этого можно использовать ASP.NET тогда уже.
Научился: Реализовывать функцию do_ship() с тестированием функционала программы по обработке большинства возможных ошибок.
Отличный и очень полезный урок!
Трудности: Очень трудоемкий урок! Но он того стоит!
Научился: 1. передавать значения переменных программе прямо через адресную строку конструкцией http://dimasian.ru/battle.php?do=info и при помощи php функции intval($_GET["ocean"]);
2. лучше стал понимать как PHP и MySQL работают в связке Трудности: размер функции do_ship() - тяжело искать ошибки, особенно, если не знаешь где кроме таблички с результатом почему-то выводятся многочисленные Array([0]=>0) значения