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

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

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

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

Мухтар: Слушай,WindwalkerAsGues а ты в отладке проверь.

WinwalkerAsGuest: Мухтар,Steks, Проблему решил,там пробел между строкой и оператором and почему-то считался как пробел в значении переменной,и почему-то только в той строчке кода. У меня все работает с одним знаком = ,ставить два не пробовал. А вот кто бы мне обьяснил как записать в одну строковую переменную значение из другой(подробный синтаксис)

Steks: multi-tentacled, написал тебе пример. Здесь не совсем так как делаю я, просто не хотел чересчур усложнять. Однако от проверки перед каждым боем это избавит. Если у тебя нет хитро работающих бонусов, то такая реализация будет излишней. Также стоит помнить, что Common выполняется либо по переходу на локацию, либо по нажатию игроком кнопки (зависит от интерпритатора). Непосредственно при реализации боя необходимо использовать текущее значение силы, а не реальное. :init ; Character stats stat_strength_current = 0 stat_strength_real = 5 ; Bonuses bonus_berserk_potion bonus_berserk_potion_strength_add = 10 proc common goto main_menu end :main_menu cls pln Main menu pln pln Текущее значение силы (с учетом бонусов): #stat_strength_current$ pln Реальное значение силы (без бонусов): #stat_strength_real$ btn get_berserk_potion, Взять две бутылки зелья btn main_menu, Обновить end :get_berserk_potion inv_Зелье берсерка = 2 goto main_menu end :use_Зелье берсерка_Выпить pln Зелье берсерка выпито. inv- Зелье берсерка bonus_berserk_potion = bonus_berserk_potion + 1 end :common stat_strength_current = stat_strength_real ; Bonuses check ; Berserk potion if (bonus_berserk_potion >= 0) then stat_strength_current = stat_strength_current + (bonus_berserk_potion * bonus_berserk_potion_strength_add) end WinwalkerAsGuest, про два пробела я конечно ошибся, потому и удалил свое сообщение не заметив твоё. Просто давно на URQL ничего не писал. Теперь как в одну строковую записать значение другой. Собственно как и не строковой. instr str1 = Hello instr str2 = world! str1 = str2 pln #%str1$ pln #%str2$ Выводит: world! world! Если не работает попробуй вместо str1 = str2 написать instr str1 = #%str2$


WindwalkerAsGuest: Steks,Моя беда в том,что ни один из предложенных вариантов не работает. В последнем случае я вижу в окне отладки str1 = #%str2$

Steks: WindwalkerAsGuest, какой интерпретатор используется? Под fireURQ, DOS_URQ и WinURQ все должно работать.

Steks: multi-tentacled прокомментировал чтобы стало понятней :init ; Блок инициализации и начальной настройки игры ; Параметры игрока stat_strength_current = 0 ; Текущее значение силы игрока stat_strength_real = 5 ; Действительное значение силы игрока ; Бонусы bonus_berserk_potion = 0 ; Сколько эффектов зелья берсерка действует на игрока bonus_berserk_potion_strength_add = 10 ; Сколько силы добавляет один подобный эффект proc common ; Выполняем локацию common для установки текущих значений параметров игрока в актуальные goto main_menu ; Отправляем интерпретатор в локацию меню end :main_menu cls pln Main menu pln pln Текущее значение силы (с учетом бонусов): #stat_strength_current$ ; Выводим значение текущей силы pln Реальное значение силы (без бонусов): #stat_strength_real$ ; Выводим действительное значение силы btn get_berserk_potion, Взять две бутылки зелья ; Выводим кнопку для добавления двух бутылок в инвентарь btn main_menu, Обновить ; Эта кнопка просто направляет в эту же локацию, однако при этом выполнится и локация common end :get_berserk_potion inv_Зелье берсерка = 2 ; Даем игроку две бутылки зелья goto main_menu ; И возвращаем его в меню ничего не спрашивая и не ожидая от него end :use_Зелье берсерка_Выпить ; Добавляем к зелью действие Выпить pln Зелье берсерка выпито. inv- Зелье берсерка ; Так как зелье выпито заберем одну бутылку из инвентаря bonus_berserk_potion = bonus_berserk_potion + 1 ; И увеличим значение переменной в которой хранится количество эффектов зелья берсерка на единицу end :common ; Эта локация будет выполняться практически при любом нажатии на кнопку или когда интепретатор встретит goto (зависит от интерпретатора) stat_strength_current = stat_strength_real ; Сначала присвоим текущему значению силы её значение действительное значение. Это нужно для того, чтобы дальше в этой локации мы могли просто прибавлять к текущему значению любые другие бонусы или отнимать штрафы, или и то и другое. Это дает нам возможность наложить несколько эффектов сразу. ; Проверка бонусов ; Зелье берсерка if (bonus_berserk_potion >= 0) then stat_strength_current = stat_strength_current + (bonus_berserk_potion * bonus_berserk_potion_strength_add) ; В данном случае мы проверили наложен ли эффект (в принципе от проверки можно и вовсе отказаться) ; Затем к текущему значению силы stat_strength_current прибавили произведение количества наложенных эффектов берсерка и значения на которое должна быть увеличина сила одинм эффектом (bonus_berserk_potion * bonus_berserk_potion_strength_add) ; Еще раз, в скобках справа bonus_berserk_potion это количество наложенных эффектов (количество выпитых зелий, мы увеличиваем его когда игрок выпивает зелье), а bonus_berserk_potion_strength_add это значение увеличения силы одним зельем (это значение мы задали когда инициализировали игру и проводили начальные настройки). Перемножив эти значения мы получим значение насколько должна быть увеличена сила при заданном количестве выпитых зелий. end

WindwalkerAsGuest: Steks,я начал писать под Mobile Quest,в это время компа у меня под рукой не было.Так что проверить иначе не мог.Интернет у меня будет только с 1 октября :)

WindwalkerAsGuest: Вообще хочется чтобы код работал и на мобиле,я его слишком долго шлифовал:-) Если кто нибудь знает особенности работы Mobile Quest,прошу поделитесь инфой

WindwalkerAsQuest: Серый волк,написал вам на почтовый ящик.Заранее благодарю.

Черный кот: Можно ли поменять цвет фона букв в фурке?

WindwalkerAsGuest: Скачал последнюю версию фурки,понравилось:-) Теперь правлю код под нее. И соответственно вопрос,как сохранить input в переменную? "input = имя переменой" не работает...

WindwalkerAsGuest: Блин,невнимательность меня погубит. У самого в коде "input имя_переменной"

WindwalkerAsGuest: Назрел вопрос,а какой командой можно закрыть окно с игрой в фурке,если можно вообще?

Серый Волк: Черный кот, поясни, пожалуйста, что имеется в виду под "цвет фона букв"? WindwalkerAsGuest, возможности сделать это средствами языка urql (то есть - командой) нет.

Windwalker: Серый волк,спасибо за инфу. А есть ли отдельная команда,для работы с массивами,или все делается через переменные? Ничего,что из меня столько вопросов сыплется?

Korwin: Windwalker пишет: А есть ли отдельная команда,для работы с массивами,или все делается через переменные? Все делается через переменные и #$ :example1 i=1 :loop1 massiv#i$=rnd10 i=i+1 if i<20 then goto loop1 i=1 pln загрузили массив из 20 числовых переменных случайными значениями от 1 до 10: pln :loop2 p #massiv#i$$,#$ i=i+1 if i<20 then goto loop2 end Windwalker пишет: Ничего,что из меня столько вопросов сыплется? Это очень хорошо...

Мухтар: Что верно то верно.И у меня нету вопросов(извините если ляпнул что-то не то).

Черный кот: Задать цвет фона, обычно он черный...

Черный кот: И еще кое-что, как вставлять gif-картинки

Korwin: Тип RECT – это просто цветной прямоугольник: decoradd <имя> (<x>,<y>[, <z>]) RECT ширина, высота [, цвет] Таким образом команда decoradd background (0,0,1) RECT 800, 600, 0xFFFFFF - даст белый фон http://ifwiki.ru/FireURQ:%D0%9E%D1%81%D0%BE%D0%B1%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D1%80%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_URQL#.D0.94.D0.B5.D0.BA.D0.BE.D1.80.D0.B0.D1.82.D0.BE.D1.80.D1.8B - тут же найти как вставить gif-декоратор decoradd <имя> (<x>,<y>[, <z>]) GIF "имя_gif-файла"



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