Владимир Коротенко, Ну я тогда потом не смогу понять, стрелял я в это место, или это место пустое, так у меня будет 3 состояния каждой клетки ( попал, пустое, корабль), а так получается если буду записывать токо корабли,я потом не пойму, которой записи нет это пустое место, или я стрелял уже .
Владимир Коротенко, Не правильно же делать цикл , и каждую итерацию делать 1 запрос для создания записи, и так 100 раз , нужно 1 раз сделать массовый запрос и через него уже добавить 100 записей ? Если так можно это будет эффективней ?
Владимир Коротенко, Капец, я почему-то изначально подумал, что нужно создать одну запись и в ней будет 200 колонок под клетки + ещё пару колонок на состояние игры, id, player_1, players_2. Поэтому я не понимал, как такой можно запрос сделать, а здесь если делать запись на каждую клетку, тогда легко можно находить нужные клетки.
Владимир Коротенко, Ну мне же не просто нужно вставить значение в колонку определенную. Мне нужно сделать перебор этих 100 клеток , узнать какая из них имеет такое же значение, например 5 (тип коробля) , таких запросов не существует, чтобы я мог найти игру по id -> узнать из определенного промежутка то есть от 1 до 100 ( первая карта ) и проверить есть ли из этого промежутка клетки, которые имеют определенное значение.
Владимир Коротенко, То есть, если я сделаю 200 колонок по сотни на карту игрока. В итоге мне все равно же при каждом запросе придется брать эту таблицу , делать проверку, изменять строку по которой он стрельнул, и сохранять ее. Или так будет меньше нагрузки ?
Rsa97, Нужно еще получается добавить строку где будет написано сколько кораблей осталось (изначально 10) , и когда ты убиваешь корабль (ставишь значение строки на 1 меньше, и после проверяешь, если число 0, то кораблей не осталось и значит ты выиграл, да ?
Rsa97, Я так изначально хотел сделать, но в комментариях посоветовали JSON.
Но в итоге эти 200 строк придется брать из БД , например пришел ход B3 (это двухклеточный корабль , нужно проверить если ли уже попадание по нему, а для этого нужно вернуть все строки и проверить, какие строки являются двухклеточными кораблями , или это можно сделать так - найти эти строки у которых значениюе 'двухклеточный корабль'? Тогда не придется возвращать все строки каждый раз.
Владимир Коротенко, Ну а как проверку тогда делать на сервере, выносить логику на клиентскую часть и там проверять уже все, и использовать БД для передачи хода ?
Rsa97, JSON будет иметь 100 значений ( чтобы поместилась карта, и изменять ее , запросами на сервер при ходе , а после сервер будет проверять этот JSON и проверять , выиграл ты, проиграл, попал или нет) .
Я понимаю, но, чтобы сделать проверку, нужно иметь полную карту, а таким способом можно только передавать противнику свой ход, а после он уже подставляет к себе на карту, у него на клиентской части происходит проверка ( выиграл, проиграл и тд), а мне нужно, чтобы данная проверка была на серверной части для безопасности. Поэтому json нужен.