Форум переехал на новый адрес: http://qsp.su



АвторСообщение



ссылка на сообщение  Отправлено: 09.07.09 07:45. Заголовок: Вопросы новичка


Здравствуйте, уважаемое qsp сообщество.

Есть несколько вопросов:
  • Почему в конструкции вида
    if no говорил_дома: 
    говорил_дома=1
    ...
    else
    ...
    end
    может не отрабатывать else ветка?


  • Специально окружил if следующим образом:
    говорил_дома 
    if no говорил_дома:
    говорил_дома=1
    говорил_дома
    ...

    И всё работает так, как ожидалось: при первой прогонке 0, 1; при второй 1, 1

    Но код в ветке else упорно не хочет выполняться. Взываю к вашему опыту, знатоки.

    Второй вопрос не по коду, а, скорее, по "платформе"

  • Как известно, при создании qsp файла qgen предлагает назначить пароль. И если пароль оставить пустым, то при последующем открытии файла пароля не спросят. Внимание, вопрос: можно ли избавить qsp файл от уже назначенного пароля?


  • И ещё вопрос на общее понимание языка:
  • Все объявленные переменные — глобальны, а к параметрам функции (локации) можно обратиться только по индексу, верно?


  • Заранее благодарю за ответы.

    Спасибо: 0 
    Профиль Цитата Ответить
    Ответов - 16 [только новые]


    менеджер по рекламе




    ссылка на сообщение  Отправлено: 09.07.09 09:57. Заголовок: WhiteWizard пишет: ..


    WhiteWizard пишет:

     цитата:
    Как известно, при создании qsp файла qgen предлагает назначить пароль. И если пароль оставить пустым, то при последующем открытии файла пароля не спросят. Внимание, вопрос: можно ли избавить qsp файл от уже назначенного пароля?


    Просто выбрать в меню "сохранить как", он сохранит файл как новый, и заново спросит про пароль.
    WhiteWizard пишет:

     цитата:
    Все объявленные переменные — глобальны, а к параметрам функции (локации) можно обратиться только по индексу, верно?


    Переменные - глобальны, что ты имеешь в виду под обращением к параметрам? Можно передать в локацию параметры, при её вызове, это выглядит примерно так:

     цитата:
    gt 'локация2',1,'int'


    При этом в локацию передаются аргументы: ARGS[0]=1 и $ARGS[1]='int'
    соответственно, сам код локации может выполнятся в зависимости от переданных аргументов.

    Насчёт первого примера если я правильно понял - проверка неадекватна.
    Если НЕ говорил дома тогда:
    Правильнее было бы Если не говорил дома=1 тогда:

     цитата:
    if no говорил_дома=1:
    говорил_дома=1
    ......
    else
    .......
    end


    А ещё проще:

     цитата:
    if говорил_дома!1:


    знак "!" является отрицанием, "если не равно"

    Спасибо: 1 
    Профиль Цитата Ответить



    ссылка на сообщение  Отправлено: 09.07.09 10:19. Заголовок: Благодарность


    Спасибо ещё раз за ответы.

    Про аргументы я всё правильно понял. Спасибо, что подтвердили мои предположения. Вопрос был к тому, можно ли добавить мнемоники в наименование параметров (аргументов) функции. Т.е. как в PHP, например: function($name, $textColor). Оказалось, что только по индексам.

    А про if: думал, раз работает if var, то будет работать и if no var. По аналогии с C++ if (boolVar)/ if (!boolVar). Оказалось - не все переносы калек одинаково полезны.

    Что ж, будем дальше привыкать к языку.

    Спасибо: 0 
    Профиль Цитата Ответить
    менеджер по рекламе




    ссылка на сообщение  Отправлено: 09.07.09 11:00. Заголовок: WhiteWizard : if war..


    WhiteWizard :
    if war тоже будет криво работать, переведи в логичный язык - ты в коде пишешь - "Если переменная вар, то..." Тебе не кажется, что звучит криво? Если ты проверяешь переменную, нужно проверять её на что-то, то есть "Если переменная вар=1, то..."

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

    Спасибо: 0 
    Профиль Цитата Ответить



    ссылка на сообщение  Отправлено: 09.07.09 15:06. Заголовок: Хорошо, что поставил..


    Хорошо, что поставил вопрос. Появился повод МакКоннелла полистать.

    За своё время программирования я привык пользоваться булевыми переменными. И проверки вида if (done) вместо if (done==true) меня лаконичностью не смущают. Радует, что вышеуказанный автор также отмечает полезность булевых переменных.

    Другое дело, что бэйсик с подобными конструкциями, видимо, не очень дружит. Не берусь утверждать наверняка, ибо последний бэйсикообразный язык, на котором довелось программить, был qbasic. И было это лет 9 назад.

    А вот за qsp реализацию можно поручиться - мы в этом наглядно убедились на приведённом мной примере.

    Думаю, имеет смысл подправить chm help. Раздел ЧаВо, подраздел "Как проверить, был ли герой на какой-либо локации?". Грохнуть оттуда пример кода
    if был_здесь:[операторы]
    , дабы не смущало умы qsp-подованов.

    Но это так, на правах предложения.

    Спасибо: 0 
    Профиль Цитата Ответить
    менеджер по рекламе




    ссылка на сообщение  Отправлено: 09.07.09 15:34. Заголовок: WhiteWizard Хм.. Не ..


    WhiteWizard Хм.. Не знаю, актуально ли это. Возможно, по умолчанию проверка и идёт на "=1", я редко использую переменные как "истинно" и "ложно", обычно работаю с большим списком значений, так что всегда чётко указываю, что подразумевается под условием. В хелпе вообще много неточностей на данный момент, так что стоит спорные вопросы спрашивать либо тут, либо на канале IRC.

    Спасибо: 1 
    Профиль Цитата Ответить
    администратор




    ссылка на сообщение  Отправлено: 10.07.09 07:50. Заголовок: WhiteWizard, no -1 ..


    WhiteWizard,

    no -1 это 0
    no 0 это -1

    То есть, при использовании "NO" в качестве булевой "ИСТИНЫ" нужно использовать -1, а не 1.
    Однако, QSP считает "ИСТИНОЙ" любые значения, отличные от 0. "ЛОЖЬ" - 0.

    Также это касается всех Basic'ов, если в них работать без типа Boolean.

    Спасибо: 1 
    Профиль Цитата Ответить





    ссылка на сообщение  Отправлено: 11.07.09 22:02. Заголовок: всем доброго времени..


    всем доброго времени суток, я здесь новенький:)но с куспом уже знаком...был:)
    раскажите вкратце, какие преимущества у последней версии плеера и движка, и есть ли смысл писать на 3.0.0?

    Спасибо: 0 
    Профиль Цитата Ответить
    администратор




    ссылка на сообщение  Отправлено: 11.07.09 22:07. Заголовок: На 3.0 смысла писать..


    На 3.0 смысла писать нет.
    У 5.x преимуществ - масса. Начиная от улучшений в языке и заканчивая улучшенными мультимедиа-возможностями.

    Спасибо: 0 
    Профиль Цитата Ответить





    ссылка на сообщение  Отправлено: 14.07.09 18:13. Заголовок: ну да, потестил немн..


    ну да, потестил немного:)правда:)а хелп новый? у меня все детали движка времен 3.0.0.
    и еще: где можно найти примеры системы боя на куспе, и не просто удар-блок, а довольно разветвленный бой...?
    спасибо,если кто поможет!

    Спасибо: 0 
    Профиль Цитата Ответить
    администратор




    ссылка на сообщение  Отправлено: 14.07.09 18:48. Заголовок: Кто-то не сильно дав..


    Кто-то не сильно давно писал D&D-модуль... Где-то на форуме было сообщение =)

    Спасибо: 0 
    Профиль Цитата Ответить
    moderator


    ссылка на сообщение  Отправлено: 14.07.09 19:26. Заголовок: Клиган к чёрту систе..


    Клиган к чёрту системы, напиши-ка лучше игру!

    Спасибо: 0 
    Профиль Цитата Ответить
    менеджер по рекламе




    ссылка на сообщение  Отправлено: 14.07.09 21:32. Заголовок: Клиган У меня валяет..


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

    Спасибо: 0 
    Профиль Цитата Ответить





    ссылка на сообщение  Отправлено: 15.07.09 18:25. Заголовок: Игра-то пишется:)про..


    Игра-то пишется:)просто с системой боя у меня траблы,хочется что-нибудь по настоящему классно-тактическое, на данный момент это моя основная проблема

    Спасибо: 0 
    Профиль Цитата Ответить





    ссылка на сообщение  Отправлено: 20.07.09 20:25. Заголовок: 2Клиган: по ДиД я п..


    2Клиган:

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

    Спасибо: 0 
    Профиль Цитата Ответить
    менеджер по рекламе




    ссылка на сообщение  Отправлено: 21.07.09 00:31. Заголовок: Элвис БэКа-шные сист..


    Элвис БэКа-шные системы не стоит юзать, на мой взгляд. Слишком они приелись... Классический AD&D плох тем, что его замучаешься еализовывать, всё не включишь, а вот где остановиться - вопрос. скилы, шмот, окружение - по идее всё должно оказывать влияние на бой, и всё должно качаться, развиваться, меняться... Очень тяжело всё это закодить, вопрос - что оставить, а чем пожертвовать.

    Спасибо: 0 
    Профиль Цитата Ответить



    ссылка на сообщение  Отправлено: 21.07.09 03:41. Заголовок: Оставить как можно б..


    Оставить как можно больше. Мы ведь не скованы шейдерными цепями графики. Нам ненужно ничего месяцами моделировать, анимировать и разрисовывать. Все это с лихвой компенсируется воображением. Но для фантазии нужна плодородная почва. Это не значит, что надо пахать сразу все тысячи тысяч акров намеченного поля. Действительно хорошие игры создаются годами... Да, это тяжело, но результат того стоит. И когда-нибудь на поле все взойдет удивительным лесом фантазии!

    Спасибо: 0 
    Профиль Цитата Ответить
    Ответ:
    1 2 3 4 5 6 7 8 9
    большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

    показывать это сообщение только модераторам
    не делать ссылки активными
    Имя, пароль:      зарегистрироваться    
    Тему читают:
    - участник сейчас на форуме
    - участник вне форума
    Все даты в формате GMT  3 час. Хитов сегодня: 6
    Права: смайлы да, картинки да, шрифты да, голосования нет
    аватары да, автозамена ссылок вкл, премодерация вкл, правка нет



    Создай свой форум на сервисе Borda.ru
    Текстовая версия