Форум » » Специальная тема для гостей и вновь прибывших. Здесь вы можете задавать свои вопросы. (продолжение) » Ответить

Специальная тема для гостей и вновь прибывших. Здесь вы можете задавать свои вопросы. (продолжение)

Серый Волк: Дорогие гости, если у вас есть небольшие "одноразовые" вопросы, пожалуйста, не стоит заводить под каждый из них отдельную тему на форуме, задавайте их здесь. Также, тут можно просто поздороваться или даже представиться. Спасибо :)

Ответов - 269, стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 All

Eddie: Если быть совсем уж честным - то к книгам-играм Браславского у меня масса претензий. Я считаю их нечестными по отношению к игроку. Эти долбаные развилки с внезапной смертью типа "направо пойдешь-умрешь, а налево пойдешь - к очередной развилке придешь" просто бесили в свое время. Плюс еще практически непобедимые "финальные боссы". Вот и хотелось бы высказаться ему в лицо! )))

Saint: А что плохого в том, что развилки ведут к смерти? Это-же игра...

Eddie: Плохо тем, что игра в этом случае сводилась к "угадал/неугадал". От игрока абсолютно ничего не зависело.


Мухтар: А в "Полцарства за коня" не пробовали? Там всё пороще.

Chicago1920: Дорогие друзья и Евг! Совершенно закономерно, у меня возник следующий вопрос - а будет ли в этом году проводится традиционная ежегодная урк-забава aka Операция С Новым Годом? Искренне Ваш и Евга.

noname: Chicago1920 пишет: Совершенно закономерно, у меня возник следующий вопрос - а будет ли в этом году проводится традиционная ежегодная урк-забава aka Операция С Новым Годом? Искренне Ваш и Евга. а как же ЗОКа? не хорошо распылять усилия- не выйдет ни то, ни то. вот если бы их можно было как-то объединить..

Chicago1920: noname пишет: а как же ЗОКа? Зока ж для девочек. Побеждают игры про феечек и прочие волшебные палочки. А вот Операция это обоюдоприятное поздравление с новым годом

Eddie: А разве важно не участие прежде всего? К тому же Волк, вроде, приз может присудить не девчачьему квесту "про феечек", а вполне пацанскому про "насилье и секс".

Серый Волк: Дорогой мой Chicago1920, конечно же будет. Ты большой молодец, что придумал и ввёл эту добрую традицию. И ещё бОльший молодец, что напоминаешь о ней. А добрые традиции должны жить-поживать и не зафейливаться.. Тем более, что в этом году у нас появились новые активные люди, которым, надеюсь, будет интересно поучаствовать в новогодней забаве. Пойду создам топик. А ЗОКа что, три года не мешала же, и в этот раз не помешает.

Михаил Фаул: У меня есть вопрос, с которым я долго маюсь. Подскажите мне, как пользоваться rnd на наглядном примере, а то я с ног сбился ищя пример в учебнике Korwina.

Евгений: Вот тут есть ответ: http://urq.borda.ru/?1-0-0-00000320-000-0-0 А вообще самый простой способ понять - выводить непонятное на экран и смотреть, что оно делает. Например: :0 pln #rnd42$ btn 0, еще раз end

noname: текст простой игры, использующей rnd6 для "броска кубиков" и rnd3 для рандомизации описания исхода боя: invkill perkill vic = 0 ; количество побед :1 pln Вы вызвали на поединок оскорбившего добродетель, pln и бой неизбежно кончится гибелью одного из вас. btn 2, принять боевую стойку end :2 d1 = rnd6 d2 = rnd6 d3 = rnd6 s1 = d1+d2+d3 ; Ваша концентрация k1 = rnd6 k2 = rnd6 k3 = rnd6 s2 = k1+k2+k3 ; концентрация противника s3 = 6+rnd6+rnd6 ; если s2>s3, противник принимает решение атаковать pln pln Ваша концентрация #d1$+#d2$+#d3$ =#s1$ pln она, как и концентрация противника, pln определяется суммой броска трёх шестигранных кубиков. btn 3, атаковать btn 15, выжидать момент end :3 r= rnd3 if s1>s2 then r=r+3 if s1<s2 then r=r+6 if s1=s2 then r=r+9 goto #r$ end :4 pln Голова Вашего противника pln отлетела в кусты, оставив кровавый шлейф. goto 13 end :5 pln Вы рассекли противника одним ударом от правого бедра до левого уха, pln и сожрали его селезёнку. goto 13 end :6 pln Неожиданным прямым выпадом pln Вы пронзили сердце врага. goto 13 end :7 pln Ваша голова отлетела в кусты, оставив кровавый шлейф. goto 14 end :8 pln Противник рассёк Вас одним ударом от правого бедра до левого уха, pln и сожрал твою селезёнку. goto 14 end :9 pln Неожиданным прямым выпадом pln Враг пронзил Ваше сердце. goto 14 end :10 pln Клинки яросно схлестнулись меж ваших лиц, pln ты чувствуешь горячее дыхание врага. btn 2, отступить в боевую стойку end :11 pln Мощные рубящие удары, pln со страшным лязгом столкнулись на уровне бёдер. btn 2, отступить в боевую стойку end :12 pln Ваш удар не достал врага, pln но и Вам удалось увернуться от атаки. btn 2, отступить в боевую стойку end :13 vic = vic+1; pln pln Концентрация противника #k1$+#k2$+#k3$ =#s2$ pln была хуже Вашей #d1$+#d2$+#d3$ =#s1$ pln Необходимое сделано. pln pln На Вашем счету #vic$ побед, pln можете вернутся к котелку с бататовой кашей, над костром. pln btn 1, кто-то только что совершил недозволенное end :14 vic = 0 pln pln Концентрация противника #k1$+#k2$+#k3$ =#s2$ pln оказалась лучше Вашей #d1$+#d2$+#d3$ =#s1$ pln Вы погибли. pln pln Заново? btn 1, ладно end :15 if s2>s3 then goto 16 goto 17 end :16 pln Враг ринулся в атаку btn 3, .. end :17 r= rnd3 pln Невозмутимы самураи перед боем. if r=3 then pln Лепесток цветка плавно падает с сакуры. goto 2 end

Михаил Фаул: Спасибо за столь быстрый ответ на мой вопрос. Из прошлого вопроса вытекает этот. Вот код. :Сила pln Итак, определим твою жизненную силу силы = rnd6 if силы = 0 then btn Сила,Кинуть куб еще раз if силы = 1 then Inv+22,жизней if силы = 2 then Inv+18,жизней if силы = 3 then Inv+14,жизней if силы = 4 then Inv+24,жизней if силы = 5 then Inv+16,жизней if силы = 6 then Inv+20,жизней Inv_Сила>10 then btn 1,Далее end По задумке, должна задаться жизнь и появиться кнопка. Но ничего не происходит. Наверное, это можно организовать в виде процесса. Был бы рад, если бы кто небудь продемонстрировал как.

noname: силы = rnd6 получится целое число от 1 до 6 включительно. следующая строка : if силы = 0 then btn Сила,Кинуть куб еще раз никогда не будет выполнена. а здесь: Inv_Сила>10 then btn 1,Далее вероятно, пропущен if. ещё не ясно, откуда берётся значение Inv_сила. я вижу в коде переменную силы и жизней. кроме того, ещё один тонкий момент: между Inv+ и числом должен быть пробел. вот исправленный пример: :Сила pln Итак, определим твою жизненную силу силы = rnd6 if силы = 1 then Inv+ 22,жизней if силы = 2 then Inv+ 18,жизней if силы = 3 then Inv+ 14,жизней if силы = 4 then Inv+ 24,жизней if силы = 5 then Inv+ 16,жизней if силы = 6 then Inv+ 20,жизней if Inv_жизней>10 then btn 1,Далее end в этом примере кнопка появляется, а так же подсвечивается инвентарь, в котором можно увидеть полученное количество жизней.

Михаил Фаул: И снова вы дали очень хороший совет. И большое спасибо вам за это. У меня еще вопрос(надеюсь я этими вопросами вам не надоел?;-) ). Допустим, берем здоровье. Как сделать процесс common, который при исчезновении здоровья отправляет игрока в определенную комнату и где ставить ссылку на common?

qwerty: noname пишет: в этом примере кнопка появляется, а так же если в этом куске кода задаётся начальное количество жизней, то я бы советовал вместо "Inv+ 20, жизней" писать "Inv_жизней=20". ведь требуется не добавить жизни, а выставить именно такое количество жизней, как я понял. Михаил Фаул пишет: У меня еще вопрос(надеюсь я этими вопросами вам не надоел?;-) ). мы рады, что появляются новые пользователи FireURQ)) common- это особая локация, которая исполняется автоматически, при переходе игрока из любой локации в любую другую. при выполнении локации common, когда доходим до end, выполнение передаётся следующей локации- к той, в которую надо было перейти. это удобно для организации самых разных событий: отсчёт времени, организация голода, проверки на то, не выполнились ли условия для выполнения какого-то особого действия. удобная штука, если научиться ею пользоваться. конкретно, в случае, если героя надо отправить в конец игры, нужно предварительно сделать forget_procs. эта команда заставляет "забыть" о том, что по достижении end нужно было куда-то переходить. после выполнения этой команды процедура не вернёт управление туда, откуда её вызвали, а локация common не вернёт игрока туда, куда он собирался перейти. чтобы лучше понять написанное, предлагаю простой пример: :начало Inv_цветок= 0 Inv_мозоль = 0 r=0 pln Начало btn поле, идти в поле btn горы, идти в горы btn лес, идти в лес end :поле pln Поле btn горы, идти в горы btn лес, идти в лес end :горы pln Горы btn поле, идти в поле btn лес, идти в лес end :лес pln Лес btn поле, идти в поле btn горы, идти в горы end :дом pln вы набрали достаточно цветов и вернулись домой pln btn начало, заново end :common ; регулярные действия: Inv+ цветок if Inv_цветок= 10 then forget_procs&goto дом ; неожиданное событие: r= r+rnd3-1 if r>5 then r=0 & Inv+ мозоль & pln вы натёрли мозоль & pln end попробуйте убрать forget_procs, и увидите, как изменится выполнение программы. или попробуйте добавить forget_procs в локацию common перед последним end. причём, в моём примере, есть погрешности. дело в том, что по нажатии кнопки "заново" тоже выполнится сначала локация common. это не всегда хорошо. может случиться так, что события, которые уместны в игре, будут не уместны при использовании игроком начального меню. например, персонаж не должен умереть от голода от того, что игрок слишком долго лазит по до-игровому меню. для этого common можно переключать: в конце руководства от Корвина есть список системных переменных. там в начале есть переменная common. изучайте документацию, разбирайтесь, экспериментируйте, спрашивайте)) желаю успехов!

Михаил Фаул: Спасибо.)) Кстати, не скажете в каких играх есть битвы 1 на 1(очень надо)?

Евгений: http://quest-book.ru/quest/2414/ А на урке не помню :)

qwerty: Михаил Фаул, из того, что может подойти, вспомнил сходу вот это: "Контакт" Chicago1920 (159 Кбайт) под Акурку "Демоны бездны" порт книги-игры Стива Джексона (p_alex) (5,64 Мбайт) под Акурку(впрочем, там, вродь запускающийся пакет) лежит здесь: http://rilarhiv.ru/urq.htm но можно придумать и другие системы боя.

Михаил Фаул: qwerty, большое спасибо, вы меня уже несколько раз выручали.



полная версия страницы