Как сделать?
…
svandrus:
то если яблок будет штук 500 остальные предметы в корзинке пионера будут как-то плохо заметны.
На самом деле это делается довольно просто. Даёшь предмету ещё одно свойство “количество” (новый массив “количество_яблок[]”), и перед добавлением проверяешь, нет ли уже у тебя предмета с такими свойствами (но не по свойству “количество”). Если предмет с точно такими же свойствами уже есть, вместо добавления просто увеличиваешь количество этого предмета (количество_яблок[номер_яблока]+=1), если нет, тогда создаёшь новый предмет, как было описано выше. Ну и у нового предмета будет опять же количество = 1.
А можно не складывая яблоки в инвентарь набрать их в массив, а потом, на другой локации вытащить их из этого массива кучей или списком и уже тогда рассматривать?
svandrus:
А можно не складывая яблоки в инвентарь набрать их в массив, а потом, на другой локации вытащить их из этого массива кучей или списком и уже тогда рассматривать?
Все переменные сохраняются при переходе с локации на локацию (Ну кроме нескольких специфических типа args).
Единственное нужно заранее продумать, как это должно выглядеть на экране, а потом уже думать, как это организовать.
Aleks Versus:
Теперь у тебя получается список предметов
яблоко<1>
яблоко<2>
яблоко<3>
А как убрать скобки? И вообще не отображать этот номер? Пробовал ставить несколько скобок, комбинировал их виды - ругается на непарное количество (хотя по-моему так парное) или же вообще ничего не отображает. Просто мне этот список “нумерованных” яблок как-то не нравится.
svandrus:
Просто мне этот список “нумерованных” яблок как-то не нравится.
Ты хочешь список вида
Яблоко
Яблоко
Яблоко
……
……
Яблоко
или как ты хочешь, чтобы список выглядел?
Вот так хотя бы как ты показываешь… Просто “Яблоко” без номера. И неважно если их там сто одинаковых.
svandrus:
Просто “Яблоко” без номера. И неважно если их там сто одинаковых.
Насколько я знаю, в QSP выбранный предмет определяется только по имени. Т.е. не получится понять, какое именно из яблок выбрал игрок.
Как вариант - можно сделать предмет “Яблоки” и по нажатию сделать меню яблок (будут проблемы с высотой меню при большом количестве), можно по нажатию сделать локацию со списком яблок (можно даже табличку сделать типа сорт, вес, …). А можно при нажатии на яблоко в предметах выбирать случайное яблоко. Что из этого лучше укладывается в концепцию твоей игры - я не знаю.
newsash,
ты прав, определяется по имени. Но ты не прав, в том плане, что не получится понять. Я не зря привёл угловые скобки. QSP воспринимает их как html-теги.
svandrus,
Чтобы угловые скобки не выводились на экране, нужно включить обработку html
usehtml = 1
Я думал, ты об этом знаешь. При таком подходе, имена остаются всё те же “яблоко<1> яблоко<2>” и т.д., но для игрока это выглядит как “яблоко яблоко яблоко”
Если уж совсем неймётся, так можно умять в название предмета всю информацию.
<сорт:антоновка:сорт><вес:15:вес> и т.д. Но делать так не советую. Во-первых, получить эти свойства можно будет только при щелчке на предмете, а иногда с предметами надо работать без участия игрока. Во-вторых, при отладке, когда возвращаешь usehtml = 0, такие имена предметов будут просто нечитаемы.
Спасибо за помощь!
Я же говорил что ни разу не программист, поэтому и не догадался по html. С номером яблок и др. предметов выкрутился по-своему, переделав вид представления информации о предмете.
А вот с поиском по положению между скобок мне показалось слишком сложно. Я ввел новую переменную num, сообразную количеству попыток сорвать яблоко. Правда все стало работать когда код приобрел вид:
str(num)
‘<<$Fruit[num]>>’
Номер все равно выводится, но я просто переставил его в место Попытка № х, стоящее выше. Главное что можно теперь не запихивать яблоки в инвентарь я вызывать их из массива по номеру. Единственное что я все делаю больше методом тыка, поэтому теперь не знаю, а не повлечет ли это за собой каких-то неправильностей впоследствии.
Aleks Versus:
Я не зря привёл угловые скобки. QSP воспринимает их как html-теги.
Не знал, что оно может восприниматься как теги и одновременно не приводить к ошибке. Спасибо за информацию.
svandrus:
Я же говорил что ни разу не программист, поэтому и не догадался по html. С номером яблок и др.
svandrus:
Главное что можно теперь не запихивать яблоки в инвентарь я вызывать их из массива по номеру.
Мне показалось или тебе вообще яблоки в инвентаре не нужны?
Aleks Versus,
по-хорошему нераспознанный тег должен не скрываться, а выводиться “как есть”. Видимо в классическом плеере они скрываются из-за того, что поддерживается мало тегов.
Nex:
Aleks Versus,
по-хорошему нераспознанный тег должен не скрываться, а выводиться “как есть”. Видимо в классическом плеере они скрываются из-за того, что поддерживается мало тегов.
Сам тег должен выводиться “как есть”?
Только что проверил на ‘<1><p><2></p>’ в своих двух браузерах.
Результат
<1>
<2>
Olegus, это и называется “как есть”
Так что в QSP действительно ошибка.