RU 📌 Pinned

Как сделать?

Dark[Ol(U23)leneri] #34 18.04.2010 22:57 6408 comments 2425706 views

Вопрос простой, ответ чую тоже но чего-то не выходит. Есть загадка, надо чтобы ответ принимало без учета регистра,то есть и с маленькой и с большой буквы. Как проще всего это реализовать?

Ввод текста игроком

$correctAnswer = 'ответ'
:label
if TRIM(LCASE(input('Введите правильное слово'))) ! $correctAnswer: jump 'label'
*nl 'Поздравляем!'
Aleks Versus Moderator 18.02.2016 21:41 (10 years ago)

evp:

Задачка оказалась настолько интересной, что пришла идея использовать вот такой “хак”

вот именно! :D Мы со Storm около месяца назад (может больше) обсуждали такой подход передачи данных из JS в QSP. Но реализовать ещё не пробовали. Выводим данные, полученные через JS на экран, сохраняем в переменную, очищаем экран, и парсим нужные данные. Костыль, конечно, но что поделать.
Вот только я не уверен, что браузерный JS даст возможность получить список файлов в папке.

К сожалению, все еще хуже. Мне не удалось вывести на экран результаты из JS.

document.getElementById(’myid’).innerHTML = ‘Новый текст’;
не справился с задачей. Ничего не заменяет, причина неизвестна, но это и неважно, ниже объясню почему.

document.write(Hello, world);
работает, но, видимо, он срабатывает уже после того как html-страница сформирована, следовательно все содержимое заменяется на аргумент метода. Это нам дает полное удаление всех окон (основного и дополнительного описаний и действий), форматирования, короче, девственно-чистый html-документ :)

Но я пришел к выводу, что абсолютно неважно, что мы напишем в окне при помощи JS - это все останется только в сформированном html-документе и не имеет отношения к тому, что “хотел” написать QSP, а, следовательно, к тому, что возвращает $maintxt. Другими словами, мы можем что угодно писать в html, но QSP об этом знать ничего не будет ибо $maintxt возвращает не то, что на самом деле написано в html, а лишь мнение QSP о том, что должно быть там написано.

Что касается изначально поставленной задачи о картинках, то JS способен ее решить, но не в Навигаторе. Для доступа к файловой системе нужно использовать ActiveX, доступный в браузерах Microsoft, а мы имеем, к сожалению, WebKit-браузер.

Как ее решение могу предложить следующий алгоритм, который будет работать как в классике, так и в Навигаторе.
Некий исполняемый файл (это может быть даже bat-файл)
[*] составляет список файлов в указанной папке/папках;

[*] сохраняет результаты своей работы в текстовый документ, используя синтаксис txt2gam для формирования нужных переменных или массивов;

[*] конвертирует этот файл в .qsp, используя txt2gam.exe;

[*] запускает игру.

В самой игре используется функция ADDQST/ADDLIB/INCLIB для присоединения получившегося модуля.

Aleks Versus Moderator 19.02.2016 19:21 (10 years ago)

evp,
прискорбно. Хотя следовало ожидать. Скрипт, засунутый в описание, при попытке вытащить его, конечно будет не изменённым скриптом. Эффект, производимый им, полностью лежит на плечах браузера, который “исходный” код страницы не может менять. Даже по-моему Nex что-то такое пару раз говорил.

Всем доброго времени суток. Либо ночь уже полная, либо я совсем уже.

В общем помогите разобраться

_if $Kuznec_status=‘Кузнец работает’:’Лучше его не тревожить’
‘<center><img src=“img/kuz/3.jpg”></center>’


end

if $Kuznec_status=‘спит’:’Сопит в две дырки’
‘<center><img src=“img/kuz/2.jpg”></center>’


end

if $Kuznec_status=‘Сидит в таверне’:’Бухает по чёрному’
‘<center><img src=“img/kuz/1.jpg”></center>’


end_
В общем все 3 картинки всплывают когда подходишь к кузницу в любое время и при любом статусе, как сделать что бы 1 картинка была, а не все 3.

Спасибо.

Lexon, у тебя однострочная форма записи оператора ‘IF’ вместе с многострочной. Нужно привести к одной форме записи. Сделай так:

Spoiler

if $Kuznec_status=‘Кузнец работает’:
‘Лучше его не тревожить’
‘<center><img src=“img/kuz/3.jpg”></center>’


end

if $Kuznec_status=‘спит’:
‘Сопит в две дырки’
‘<center><img src=“img/kuz/2.jpg”></center>’


end

if $Kuznec_status=‘Сидит в таверне’:
‘Бухает по чёрному’
‘<center><img src=“img/kuz/1.jpg”></center>’


end

)))) Не зря говорят что ночью надо спать ))) Я главное прекрасно понимая это, абсолютно не заметил то что в одну строку написал, и не поверишь около часа пытался понять в чём же проблема, это из той же серии когда телефон не можешь найти, а он зараза перед носом лежит :-))

Спасибо большое :-))

Простите за вопрос разящий нубством, но как сделать пусковой файл? (пакетный файл Start_Game)
Просто народу удобнее(по их словам) запускать через него.

Aleks Versus Moderator 21.02.2016 19:35 (10 years ago)

Genryzz,
тебе поможет эта тема.

P.S.: Nex, может повесишь инструкцию от Cерого Волка в FAQ?

Aleks Versus:

Genryzz,
тебе поможет эта тема.

P.S.: Nex, может повесишь инструкцию от Cерого Волка в FAQ?

В том месте о котором вы писали говорилось об упаковке в архив и выходе из игры через кнопку внутри игры “Выход” но ничего о подобном Start_Game файле не было.
Ниже внешний вид папки с игрой и файл Start_Game(который прошу заметить ниразу не архив).

Aleks Versus Moderator 22.02.2016 15:31 (10 years ago)

Genryzz,
а. Извини. Я решил, раз это типа stand alone, то и этот способ сойдёт.

Так-то плеер можно запускать командой start из батника, а вот как ему сообщить, какой файл игры запускать, это я не уверен.

qspgui mycoolgame.qsp

evp:

qspgui mycoolgame.qsp

Не понял. Куда вставлять?

Туда, о чем говорил Aleks Versus, конечно. В .bat файл. Лучше будет добавить перед этим start:

start qspgui mycoolgame.qsp

Log in or Register to post comments.