Ввод с клавиатуры
Цитата: Arman от 22.04.22, 15:41Можно ли выборе вести данные на клавиатуре? допустим пишем я беру факел и автоматом идет другой параграф где ты берешь факел, можно ли такое сделать? если да, то как)
Можно ли выборе вести данные на клавиатуре? допустим пишем я беру факел и автоматом идет другой параграф где ты берешь факел, можно ли такое сделать? если да, то как)
Цитата: Chris Nerson от 24.04.22, 04:16Как давно я ждал какой-нибудь активности здесь! Коллега, с удовольствием помогу.
основная функция ввода с клавиатуры это input
[spoiler title=""]\ После ввода нажать Enter
input(function(результат) {
var x = результат;
goto("нужный параграф");
});[/spoiler]В данном случае игрок вводит любое значение, даже пустое, и после нажатия на enter игрока переносит в другой параграф. Для парсерной механики нужно добавить проверку условия. Самый простой способ - спросить равенство строки с условием.
[spoiler title=""]\ После ввода нажать Enter
input(function(результат) {if(результат=="факел") {
// код 1
goto("нужный параграф");
} else if(результат=="взять факел") {
// код 2
goto("нужный параграф");
} else {
// другой код
}});[/spoiler]
Но думаю, для чистого парсера это слишком примитивно. Тут нужно продумывать много вариантов, прописывать до бесконечности else if и вообще немного куцо, учитывая, что игрок может написать что угодно и как угодно: с большой буквы, маленькой, маты и прочее. Тут, дорогой коллега, нужно потеребонькать методы JS, в руководстве самые основные есть.
Вернемся к коду
[spoiler title=""]\ После ввода нажать Enter
input(function(результат) {
var x = результат.toLowerCase(); // переводит все буквы строки в прописные, теперь можно работать
var y = x.indexOf("факел"); //числовое значение, показывает положение подстроки в скобках внутри основной строки Х. Если число -1 - значит подстрока не найдена.//То есть, если с клавиатуры ввели "Я ПодНимаю фаКел", Х будет равен "я поднимаю факел", а Y = 11.
// тот же пример, если ввели "Ковыряю зубочистку", х="ковыряю зубочистку", у=-1, или строка не найдена. Думаю, логика понятна!if(y!=-1) { //проверяем, если не равен -1, значит искомый корень найден.
// код 1, переходим на параграф
goto("нужный параграф");
} else {
// другой код, не найдено, можно вернуться на тот же параграф, повторить ввод.
}});[/spoiler]
Мне было бы очень сложно продумывать парсер, это же такая непредсказуемость, но опять же - потрясающая вариативность! Дерзайте, главное понять логику. Несколько переменных тут даже лишние, со временем вы научитесь их сокращать. И потом можно продумать несколько корней, не обязательно триггер только на "факел" установить. Надеюсь, был полезен
Как давно я ждал какой-нибудь активности здесь! Коллега, с удовольствием помогу.
основная функция ввода с клавиатуры это input
В данном случае игрок вводит любое значение, даже пустое, и после нажатия на enter игрока переносит в другой параграф. Для парсерной механики нужно добавить проверку условия. Самый простой способ - спросить равенство строки с условием.
Но думаю, для чистого парсера это слишком примитивно. Тут нужно продумывать много вариантов, прописывать до бесконечности else if и вообще немного куцо, учитывая, что игрок может написать что угодно и как угодно: с большой буквы, маленькой, маты и прочее. Тут, дорогой коллега, нужно потеребонькать методы JS, в руководстве самые основные есть.
Вернемся к коду
Мне было бы очень сложно продумывать парсер, это же такая непредсказуемость, но опять же - потрясающая вариативность! Дерзайте, главное понять логику. Несколько переменных тут даже лишние, со временем вы научитесь их сокращать. И потом можно продумать несколько корней, не обязательно триггер только на "факел" установить. Надеюсь, был полезен