Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Морской бой на JavaScript

Сообщения:  [1-10]   [11-19] 

 
 автор: Valick   (09.01.2013 в 17:03)   письмо автору
 
   для: Никчай   (09.01.2013 в 16:28)
 

А какие проблемы с js?
самые что ни на есть серьезные, проще говоря я его не знаю, мне уже лет 5 его "некогда" выучить :)

  Ответить  
 
 автор: Никчай   (09.01.2013 в 16:28)   письмо автору
 
   для: Valick   (09.01.2013 в 14:16)
 

У нас можно было делать корабль даже так: по номерам ячеек 1, 2, 12, 22. и рядом корабли могли быть. Может это не правильно, мало с этой игрой дружил.
А какие проблемы с js? Как отправлять данные? Так же как Вы делаете на php. Лучше сразу отправить, когда все будет готово. Можно сделать два глобальных массива, в одном хранить правила по кол-ву кораблей (pravila), а в другой помещать клики (dannie). Если правила не допускают слияние кораблей, то фунция будет в dannie, ячейки которого тоже будут массивами, переводить на следующий элемент. После каждого клика пробегаться по pravila, когда происходит переход на следующий элемент в dannie, удалять соответствующий корабль из pravila, если последний пуст отправлять на сервер.
Сама игра ajax-ом, все тоже самое что сейчас у Вас только без рисования. Всего два цикла по короблям и по ячейкам.

  Ответить  
 
 автор: Valick   (09.01.2013 в 14:16)   письмо автору
 
   для: Никчай   (09.01.2013 в 13:57)
 

:) Игра написана 3 года назад, 2 года назад переписана с использованием базы данных (но пока не выкладывал в сеть), просто расстановка реализована на РНР, а хотелось бы на JS

  Ответить  
 
 автор: Никчай   (09.01.2013 в 13:57)   письмо автору
 
   для: Valick   (08.01.2013 в 15:06)
 

Тоже решил подумать над реализацией этой игры. На клиенте две таблицы в одной поле морского боя с айди номером столбца, в другой размеры кораблей. Клик по кораблю и далее клики по полю, если клик по следующему полю больше или меньше единицы или не равен соседним двум строкам, то ошибка, можно подсвечивать возможные клики. На сервере ключ это кол-во палуб, значение - номер ячейки.

  Ответить  
 
 автор: Valick   (08.01.2013 в 15:06)   письмо автору
 
   для: ЯСА   (05.08.2012 в 16:40)
 

Подскажите как отправить на сервер полученную расстановку для валидации?

  Ответить  
 
 автор: pazha   (05.08.2012 в 19:09)   письмо автору
 
   для: ЯСА   (05.08.2012 в 16:40)
 

Желательно, если это не сильно затруднит.

  Ответить  
 
 автор: ЯСА   (05.08.2012 в 16:40)   письмо автору
 
   для: Valick   (05.08.2012 в 14:57)
 

Функцию вполне можно ещё "причесать", упростив код.
По большому счёту все "проверки" можно расписать по всего четырём функциям ("верху"-"справа"-"снизу"-"слева") - код будет и короче, и читабельней.

Что до удаления (типа "передумал"), то вполне можно реализовать, причём на любом (кроме последней клетки) этапе "построения" очередного корабля - можно дополнительно навесить "клик" по любой из "синих" клеток, который приведёт к предыдущему состоянию. Это несложно.

Если очень надо, то можно и "причесать", и добавить удаление.

  Ответить  
 
 автор: pazha   (05.08.2012 в 15:00)   письмо автору
 
   для: Valick   (05.08.2012 в 14:57)
 

Полностью согласен. Я сделал что бы расстановка была при помощи JS, а сам PHP скрипт проверял её правильность.

  Ответить  
 
 автор: Valick   (05.08.2012 в 14:57)   письмо автору
 
   для: ЯСА   (04.08.2012 в 09:31)
 

Хорошая функция, если не возражаете то возьму к себе на заметку, может когда-нибудь дойдут руки доделать свой морской бой.
Единственный минус функция позволяет только расставлять, но не позволяет убрать хотя бы последний поставленный фрагмент корабля.
Когда я писал расстановку на РНР, то сделал автоматическую случайную расстановку, а так как хотел предоставить пользователю полный контроль над расстановкой, то сделал возможность редактировать и ручную и автоматическую расстановку в произвольном порядке, но так и не довел скрипт до ума (ума как раз и не хватило) и осталась возможность "обмануть" расстановку.
Естественно вариант реализации расстановки на JS во всех отношениях и удобнее и рациональнее.

  Ответить  
 
 автор: pazha   (05.08.2012 в 09:54)   письмо автору
 
   для: ЯСА   (04.08.2012 в 09:31)
 

Вы гений! Спасибо большое! Я парился неделю и не как не получалось!!!!!!

  Ответить  

Сообщения:  [1-10]   [11-19] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования