Форум » » Вопросы » Ответить

Вопросы

Seregatlt: Предлагаю тут задавать свои вопросы, и мой первый можно ли как то создать ехе файл чтоб играть без плеера?

Ответов - 440, стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 All

WladySpb: Вот любопытство замучило.. массив может содержать 7 лямов записей или около того.. При числовом индексировании всё ясно. А где и под каким номером хранятся элементы массива mas['index'] ? И не могу ли я случайно перезатереть этот элемент создав другой элемент этого же массива но с числовым индексом? mas[678] Это уже так, чисто академический интерес, просто других вопросов пока нету)

Byte: Строковые индексы создаются последовательно, т.е. при первом выполнении строчки [pre2] mas['index']=0 mas['text']=1[/pre2] будут эквивалентны [pre2] mas[0]=0 mas[1]=1[/pre2]

Ajenta: Byte О, хоть что-то прояснилось :)


Ntropy: То есть 'index' и 'text' это ключи в словаре, а есть ли возможность получить список ключей? Это может пригодиться при отладке.

Byte: Список ключей - нет :)

Nex: Ого! Обязательно в справке следует об этом написать.

WladySpb: Byte Nex В справке необходимо написать, в данный момент вроде ничто не мешает использовать параллельно один массив и для числового и для строкового индексирования... А потом ловить глюки) В общем, интерес я удовлетворил, надо запомнить что нельзя один и тот же массив по разному использовать...

WladySpb: Вопрос не по теме - делаю что-то вроде рпг в мире подобном славянскому. конкретно поднадоели все эти эльфы, гномы и прочие. Вопрос - кто помнит какие гуманоидные (хотябы с натяжкой) расы из славянского эпоса, сказок..? Пока список состоит, кроме обязательного человека, из лешего, русалки, баюна, домового и великана.

werewolf: WladySpb посмотри по этим ссылкам 1 2 3 4 5 6 это что смог вспомнить навскидку

WladySpb: werewolf Спасибо, сейчас гляну!

WladySpb: Насколько адекватна строка кода: if a-b=20 or a>c and a-b>1 если а минус б = 20 или а больше чем ц и ф минус б больше 1 Нужно чтобы выражение было верным если выполнено либо первое либо второе и выполнено третье.

[Ray]: if a-b=20 or (a>c and a-b>1)

WladySpb: [Ray] Нет, так получится что либо первое, либо второе и третье. Сделал щас локацию для проверки, нормально работает вообще без скобок, как ни странно...

[Ray]: Хмм, хз почему не работает Ну поставь 2 условия, жалко что ли?

WladySpb: [Ray] Нет, ты не понял, оно работает, я просто себе не доверяю, поскольку уравнение не совсем прозрачное, но QGen меня понял) там у меня уже 115 строк кода, и это ещё не всё... И это только одна локация) Поэтому стараюсь как-то компоновать всё это...

Byte: a-b=20 or a>c and a-b>1 по умолчанию будут распознано как a-b=20 or (a>c and a-b>1) Если нужно другое поведение, нужно написать (a-b=20 or a>c) and a-b>1

[Ray]: WladySpb пишет: там у меня уже 115 строк кода, и это ещё не всё... Ты там искусственный интелект что ли пишешь?)

WladySpb: [Ray] нет, это локация обработки боя.... Поскольку за основу я взял правила AD&D 3-ей редакции, там до фига параметров которые надо учесть. Хотя насчёт ИИ это идея неплохая) У меня есть мысль сделать автоматически генерируемые описания локаций, для разнообразия)

WladySpb: Добрался до тестирования боёвки - полезли ошибки... Самая неприятная - оператор jump работает, видимо, только в пределах того куска кода где находится. То есть, код: act 'атака': jump 'atack' exit :atack не работает, поскольку jump ищет метку atack в теле act'а... Если из примера непонятно, во время боя выдаётся список действий, и на этом выполнение останавливается. После выбора какого-либо действия выполняется кусок кода. Пока возникла только одна мысль, чем заменить/доработать неработающий jump: if a!0: jump '<<a>>' (код начала битвы) act'бой': a=1 xgt '<<$curloc>>' end exit :1 (код - ход игрока) act 'удар':a=2 & xgt '<<$curloc>>' exit :2 (Код - ход противника) a=1 xgt '<<$curloc>>' exit Может, есть решения поизящней?.... ЗЫ.. Пополз спать, завтра буду думать. ЗЗЫ: Кстати, в справке насчёт этого упоминаний нет. Нужно либо добавить в справку информацию как можно а как нельзя использовать jump либо доработать его так чтобы он искал метку по всей локации (или в указанной в качестве аргумента локации)

Byte: Разбить код на несколько локаций. Тогда вместо jump'ов будут gs / gt / xgt.



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