Блог пользователя worms

Автор worms, 14 лет назад, По-русски

Всем привет! Сделали на досуге одну интересную игру, предлагаем всем протестировать и отписаться в комментариях.

Правила игры

Дан лабиринт NxN. В нем находится несколько игроков, порталов и минотавров, один из которых охраняет клад. Минотавры стоят на месте. У каждого игрока есть несколько пуль и бомб. Также в лабиринте есть морг и несколько выходов, являющихся дырами во внешних стенах. Цель игры найти клад и выйти из лабиринта. Игроки не знают карту лабиринта и ходят по круговой очереди. Каждым ходом можно пойти вверх, вниз, влево или вправо. Игрок узнает, прошел ли он или врезался в стену и сломал нос. Если он выходит из лабиринта, не имея клада, то он не выходит из лабиринта. Иначе - он выиграл. Если игрок попал в портал с номером i, то он оказывается в портале с номером i + 1 (из последнего попадает в первый). Игрок может выстрелить в определенном направлении. Он узнает, попадает ли пуля в минотавра (или тушу мертвого минотавра), в другого игрока или в стену. Игрок может кинуть бомбу в определенном направлении. Если между клеткой, где он находится, и соседней по стороне по направлению броска бомбы есть стена - она уничтожается. Внешние стены не уничтожаются. Игрок может махнуть ножом, убив всех игроков в клетке, где он находится. Игрок может убить себя имея пулю. Игрок может ничего не делать, если ему лень. Все мертвые игроки оказываются в морге, откуда продолжают свою игру, оставив в клетке своей смерти все свои пули и бомбы. Если ни у кого из игроков нет пуль или бомб - в конце очередного цикла ходов у каждого появляется по пуле или бомбе соответственно.

Ссылка на исходник http://srcboard.com/xrvg25l
  • Проголосовать: нравится
  • -8
  • Проголосовать: не нравится

14 лет назад, скрыть # |
 
Проголосовать: нравится +6 Проголосовать: не нравится
Сделайте Code Game Challenge на эту тему!
  • 14 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +7 Проголосовать: не нравится
    А играть надо в лабиринт на выход площадью 20*20 с тонкими стенками, ключами, дверями и неявными двусторонними телепортами!!!
    • 14 лет назад, скрыть # ^ |
       
      Проголосовать: нравится 0 Проголосовать: не нравится
      Надо играть в n-мерный лабиринт! А еще туда можно много всего добавить :-)
    • 14 лет назад, скрыть # ^ |
      Rev. 2  
      Проголосовать: нравится +3 Проголосовать: не нравится

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

      UPD: да, точно... ещё реки, заболоченные участки... то и другое могло оказаться ложным...

      Боюсь в таком контесте никто не захочет участвовать, в смысле ботов писать :D

14 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится
Я присутствовал во время написания данных правил. Ребята, где то великое, написанное под влиянием грибов, вступление к игре, с участием Гуфа, Джигурды и Чака Норриса? Выложите сие бесценное творчество. :)
  • 14 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +19 Проголосовать: не нравится
    Пока, к сожалению, нельзя редактировать сообщение, поэтому выкладываю сюда:

    Предисловие
    Я хочу представить вам игру, смысл которой рассказал мне Гуф перед своей смертью. Мой сердечный друг Джигурда сказл мне, что эта последняя воля Гуфа и ее следует исполнить. Однако после этого я оглох. И ослеп. И увидел Гуфа. Но к счастью Стив Джобс вернул меня на землю. Ну так вот. К чему это я? Я пишу о своей игре, нет, не о той, которая идет по НТВ, а про свою игру, смысл которой заключается в поиске смысла жизни. Смысл жизни - это кричащий Джигурда, но тк  оглох я не слышу его крик. А еще я ослеп. И поэтому мы проходим лабиринт вслепую. Ах да, наша игра - это лабиринт. А еще у нас есть минотавр по имени Чак Норрис. Он тебя видит и говорит: "Покажи свой самый сильный удар". Если произвести любой удар в сторону Чака, то великий актер покажет вам свой удар. Однако в отличие от оригинала он смертен. К сожалению. Но мы не знаем сколько минотавров. Возможно один. А возможно много. Вы сами выбираете, сколько минотавров вам надо. Как только мы находим Джигурду он возвращает нам слух, но отбирает все оружие. А еще руки. И возможно ноги, ибо вротмненоги. Зависит от gufDeathCount % 2 == 0 ? true : false. Если вас лишили ног, то Гуф подвел вас. Вы проиграли. Но мы вы можете выиграть. В начале игры вы вводите количество Гуфов, которые ходят в лабиринте. Но до Джигурды дойдет только один. Возможно это будете не вы. Да прибудет с вами коктейль, который можно жевать две недели!
    (c) beaverkiria
14 лет назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится
Играя, попал в точку, окруженную порталами друг в друга и бессмертными(крайними) стенками... и осознал, что самоубийство в этой игре действительно бывает полезно применить.
  • 14 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +1 Проголосовать: не нравится
    ее, прошел 5х5, очень странно, что половина нарисованной мной в ходе игры карты не совпадает с реальной :)
    • 14 лет назад, скрыть # ^ |
       
      Проголосовать: нравится 0 Проголосовать: не нравится
      Ну да, я тоже вспомнил детство (за это авторам конечно спасибо) - и карта даже совпала (хотя счётчика ходов нет и я думаю что много лишних движений получилось), правда снизу какая-то приписка оказалась насчёт "Segmentation fault"... ;-)

      Вообще в наши времена стен было меньше, зато больше упор делался на клетки перемещающие игрока в сторону или наоборот незаметно препятствующие продвижению...
14 лет назад, скрыть # |
 
Проголосовать: нравится +6 Проголосовать: не нравится
Раз уж начали, теперь надо все это на js переписать, сделать сервак на NodeJS, организовать там систему лобби и вперёд в соцсети!
  • 14 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +7 Проголосовать: не нравится
    Зачем оно нам в соцсетях?

    Если найдутся интересанты, можно бы действительно по предложению dalex в самом первом комменте битвы роботов замутить... %)

    (а почему на js?)
    • 14 лет назад, скрыть # ^ |
       
      Проголосовать: нравится 0 Проголосовать: не нравится
      Потому что это сейчас популярное развивающееся направление - писать клиент и сервер оба на js.
      • 14 лет назад, скрыть # ^ |
         
        Проголосовать: нравится +7 Проголосовать: не нравится
        Готов поверить что "развивающееся", но насчёт "популярного"... Прям сказать первый раз услышал про NodeJS (ну да, такая я тёмная личность - впрочем, теперь знать буду)... %)

        А где можно прочесть про основные плюсы сервера на js (если такие имеют место) - ну кроме nodejs.org, который можно заподозрить в предвзятости... %)
        • 14 лет назад, скрыть # ^ |
           
          Проголосовать: нравится +1 Проголосовать: не нравится
          Главный плюс - все операции выполняются асинхронно, в одном потоке. Если надо несколько потоков - можно стартовать несколько нод, пусть обмениваются данными через сокеты.
          Ещё один плюс в хорошем API и легковесности сервера.
          Минус следует из асинхронности: как и на codeforces, "дисскуссия уходит в сторону"
          Ну ещё платформа молодая, материалов не так много как для других серверов.