Comments 43
Флажки бы чуть более выразительные, а то красная палочка… ) Но это все мелкие придирки.
>> Так что когда будет время, я могу продолжить про кодинг в GWT
Обязательно продождайте. Лучше всего учиться на примерах таких вот не сложных игрушек, ведь по ним всегда интереснее изучать новые технологии, я это гарантирую. (-:
>> Так что когда будет время, я могу продолжить про кодинг в GWT
Обязательно продождайте. Лучше всего учиться на примерах таких вот не сложных игрушек, ведь по ним всегда интереснее изучать новые технологии, я это гарантирую. (-:
+1
большое поле (100х100 клеток) на достаточно мощном компе рисуется около 4 минут, при клике на любую клетку всплывает красивое окошечко с ошибками, которое можно передвигать. (FF 3.5.5)
0
Может все же 4 секнуды? У меня так вообще 2 на довольно среднем компе. Браузер Chromium.
Про ошибку подтверждаю:
Maximum call stack size excedded
Type: stack_overflow"
Еще надо бы сделать так, что при щелчке на поля из «Custom:» радиобокс сложности автоматом переключался на «Custom»
Про ошибку подтверждаю:
Maximum call stack size excedded
Type: stack_overflow"
Еще надо бы сделать так, что при щелчке на поля из «Custom:» радиобокс сложности автоматом переключался на «Custom»
0
Ого. Не проверял в FF столь большие поля. Оптимизацию начну именно с алгоритмов, которые кушают так много. В хроме вообще все прекрасно — не стоило в нем отлаживать :)
0
Есть небольшая недоработка — у вас можно попасть на мину первым же кликом.
В оригинальном же сапере положение мин рассчитываются после первого клика и таким образом, что бы на нажатой клетке мин не было.
В оригинальном же сапере положение мин рассчитываются после первого клика и таким образом, что бы на нажатой клетке мин не было.
+6
Да, от этого я не пытался пока избавлятся. При первом клике был бы не такой хороший отклик, т.к. после него генерировалось бы все поле. Т.к. это происходит не быстро, время на начальные издержки решил потратить на время, пока вы тянетесь от кнопки до поля :) На самом деле, в текущем коде добиться такого поведения не сложно — нужно лишь инициализацию запускать после первого клика. Как это делается с запуском таймера.
0
Вы можете оставить есть, но если первый клик попадает на бомбу, то перегенерировать поле. В таком случае долгий отклик будет лишь в 1 из 10 случаев, что не критично.
Либо генерировать перед началом 2 поля, в таком случае вероятность того что вы тыкните в клетку, которая будет в обеих полях бомбой — 0,1*0,1 = 0,01, что уже совсем ничтожно мало.
Либо генерировать перед началом 2 поля, в таком случае вероятность того что вы тыкните в клетку, которая будет в обеих полях бомбой — 0,1*0,1 = 0,01, что уже совсем ничтожно мало.
0
А как насчет того чтобы просто убрать мину если пользователь попал в нее и поставить в любом другом месте?
+1
возможность быстро открывать поля должна быть по нажатию двух кнопок, средняя — колесо. неудобно )
+1
Либо я еще не проснулся, либо вы меня обманываете.
0
Не приложилось
+2
Только щас понял, что красная мина — не самый лучший способ показывать отсутствие этой мины. Я вас не обманываю :)
0
/me долго смотрел на картинку и так и не понял в чем проблема :)
0
В том, что если там где красный квадратик есть мина то сапер неправильно считает цифры — т.е. количество мин, соседних с ячейкой с цифрой.
0
Ещё одно дополнение. в классическом сапёре между клетками нет границ. т.е. при нажатии в случайную область поля откроется клетка. а у вас при попадании на границу между клетками ничего не происходит. Это очень важно при установке рекордов.
0
Извините, но играть довольно тяжело и необычно…
0
Могу предложить генерировать поле, после первого нажатия. Мой самый первый клик попал на мину, да я неудачник, но всё же =)
+3
А сможете сделать многопользовательского сапера? :) Я пробовал несколько лет назад, но из-за кривизны рук забросил.
Идея была в том, чтобы несколько человек в онлайне разминировали одно поле. Команда проигрывает, когда подрывается последний участник. Можно прикрутить рейтинги команд, давать одно и то же поле на прохождение разным командам и т.д.
Идея была в том, чтобы несколько человек в онлайне разминировали одно поле. Команда проигрывает, когда подрывается последний участник. Можно прикрутить рейтинги команд, давать одно и то же поле на прохождение разным командам и т.д.
+1
Ну это лишь способ ведения рейтинга, группирования пользователей. Не вижу в этой задачи чего-либо сложного или интересного. И духа соревнования тут нет. Выигрыш в эту игру во многом зависит не только от внимания, но и от удачи.
Думал сделать виджет для вейва, но одновременная игра двух игроков — тоже сомнительное мероприятие на минном-то поле :)
А вообще, многопользовательские игры — тема для меня очень интересная. Так что если есть какие-либо предложения, с удовольствием выслушаю.
Думал сделать виджет для вейва, но одновременная игра двух игроков — тоже сомнительное мероприятие на минном-то поле :)
А вообще, многопользовательские игры — тема для меня очень интересная. Так что если есть какие-либо предложения, с удовольствием выслушаю.
0
«Дабл-сапер»:
Играют два игрока на большом поле. Каждый игрок может не только разминировать клетки, но и ставить свои мины(!). При этом он видит их положение, аналогично тому как помеченные клетки с минами. Мины можно ставить только на закрытые клетки. Если противник поставил мину, то для соседних отрытых пересчитывается кол-во мин. Это нужно для того, чтобы соперник видел, что картина как-то изменилась и ему нужно подумать над ней еще разок.
Игрок побеждает, если:
— его противник подорвался
— если никто не взорвался, и он открыл больше клеток.
В чем смак игры: с одной стороны идет жесктое соревнование на время — вы на своем поле видите, как ваш противник открывает клетки (дополнительно в углу можно показывать сколько клеток вы отркыли, или же процент). В тоже время спешить нелья — одно неловкое движение и вы проиграли. Нужно очень четко следить за действиями противника — может оказаться так, что он откроет какую-то клетку, рядом с которой лежит «клондайк» — то есть свободная зона, которую вы можете у него перехватить и тем самым урвать у него клетки.
Но помимо этого можно делать «пакости» — поймать противника на невнимательности. Пока не продумал этот момент, но возможно надо ограничить кол-во мин, которые может поставить игрок. Чтобы это не порождало тупиков в игре.
Кстати, не обязательно играть в двоем — можно и большей компанией.
Играют два игрока на большом поле. Каждый игрок может не только разминировать клетки, но и ставить свои мины(!). При этом он видит их положение, аналогично тому как помеченные клетки с минами. Мины можно ставить только на закрытые клетки. Если противник поставил мину, то для соседних отрытых пересчитывается кол-во мин. Это нужно для того, чтобы соперник видел, что картина как-то изменилась и ему нужно подумать над ней еще разок.
Игрок побеждает, если:
— его противник подорвался
— если никто не взорвался, и он открыл больше клеток.
В чем смак игры: с одной стороны идет жесктое соревнование на время — вы на своем поле видите, как ваш противник открывает клетки (дополнительно в углу можно показывать сколько клеток вы отркыли, или же процент). В тоже время спешить нелья — одно неловкое движение и вы проиграли. Нужно очень четко следить за действиями противника — может оказаться так, что он откроет какую-то клетку, рядом с которой лежит «клондайк» — то есть свободная зона, которую вы можете у него перехватить и тем самым урвать у него клетки.
Но помимо этого можно делать «пакости» — поймать противника на невнимательности. Пока не продумал этот момент, но возможно надо ограничить кол-во мин, которые может поставить игрок. Чтобы это не порождало тупиков в игре.
Кстати, не обязательно играть в двоем — можно и большей компанией.
+3
Очень интересные идеи. Спасибо. Обязательно подумаю над этим. Вы аж зажгли во мне интерес в развитии идеи :)
0
Вариант — две команды по несколько игроков (минимум по одному, максимум, например, по 5 в каждой команде) разминируют одно и то же поле. Разминированная часть и отмеченные мины засчитываются в пользу той или другой команды, так можно видеть, кто побеждает, например «23% — 34%, 12мин — 20мин». При этом начальное поле имеет слева и справа пустую область, то есть, одна команда начинает открывать поле с левой стороны, другая с правой, и обе видят в самом начале открытую границу с указанным количеством мин на своей границе.
Действительно, многое зависит от удачи, но есть место и для стратегии: например, слабых игроков в каждой команде можно использовать для проверки спорных мест — «Ваня, проверь вот здесь». Ваня подорвался, значит мина была, но остальная команда продолжает разминирование. :)
Действительно, многое зависит от удачи, но есть место и для стратегии: например, слабых игроков в каждой команде можно использовать для проверки спорных мест — «Ваня, проверь вот здесь». Ваня подорвался, значит мина была, но остальная команда продолжает разминирование. :)
+1
Классная статья! Вроде для того, чтобы выиграть нужно открыть все пустые поля, а не только пометить все мины.
0
Не знаю, как сейчас обстоят дела с оперой и правым кликом, но раньше, с аналогичной задачей написания кроссбраузного сапера, для оперы (7 или 8 была тогда, не помню) я справился так:
Ессно обработка правых кликов должна быть включена:
Открываем маленькое окно (windows.open, width,height=«маленькая цифирь») за пределом видимости экрана (top,left=«большая цифирь»); и тут же скриптом, внутри этого окна, закрываем его. Тогда стандартная менюшка, которая вызывается в опере на правый клик, перебивается этим окном, и не показывается.
К сожалению исходники, за давностью лет, утеряны. Однако, насколько я вспоминаю, решение было не быстрым, но работало.
Ессно обработка правых кликов должна быть включена:
Открываем маленькое окно (windows.open, width,height=«маленькая цифирь») за пределом видимости экрана (top,left=«большая цифирь»); и тут же скриптом, внутри этого окна, закрываем его. Тогда стандартная менюшка, которая вызывается в опере на правый клик, перебивается этим окном, и не показывается.
К сожалению исходники, за давностью лет, утеряны. Однако, насколько я вспоминаю, решение было не быстрым, но работало.
+1
Спасибо, буду думать. Покликал оперой сайты типа гугладоков, ассемблу и прочее… Нигде правый клик не работает
0
Я тут, конечно, мимоходом. Для каждого поля у вас свой хэндлер создается?
0
Sign up to leave a comment.
Сапер на GWT