Как создать консоль?
Как создать консоль?
Проблема только в том что команда input все портит, у меня не получается выйти из консоли. Код:
while cons=true |
Re: Как создать консоль?
пиши свой инпут. Пользуйся командой getkey(), тока помни что она возвращает код ASCII!
|
Re: Как создать консоль?
Вспомнил что где то на форуме видел туториал по консоли, или ошибаюсь?
Как сопоставить аски код и букву? Function Input(ascii) select ascii case 1 return ('a') case 2 return ('b') и д end select end function write Input(getKey) |
Re: Как создать консоль?
Юзай GetKey она возвращает сразу ASCII код значка.
gKey=GetKey() vLine$=vLine+Chr(gKey) Text 10,10,vLine В общем, есть таблица ASCII кода. Заметь что заглавные отличаються от прописных, но есть у них радиус, от опр до опр номера - буквы, в общем в справке там есть таблица. Chr - Возвращает символ из ASCII списка. GetKey - Получает ASCII код нажатой клавишы. Варриант подходит для консоли, тем что не застаивает приложение. input здесь никак не идёт. |
Re: Как создать консоль?
Мне вобщм то неважно работает приложение в данный момент или нет. БИГ СПС за то что напомнил функцию Chr, а то я уже хотел таюлицу символов перебивать.
Ну и надумал еще один способ создания консоли с Input(): Код:
While cons=True |
Re: Как создать консоль?
Ещё для реализации консоли, советую сделать какбы систему базы данных, с классом комманд, и сразу параметрами, и прописывать на каждую комманду действия.
Тоесть: 1. Все заглавные заменяем на прописные (бывает что заглавными ктото написал). 2. Функцией Mid находим пробел, и отделяем левую и правую части. 3. Далее перебираем массив перменных\комманд, и действуем по типу переменной: просто изменяет значение опр переменной/совершает какое либо действие. Для каждой нужно писать выполнение. Таким образом будет несложно редактируемый интерфэйс. Я помню делал связку с xml, было удобно что-либо добовлять новое. Но к сожелению это не С++, где добавление новых, можно реализовать полностью динамично. По крайней мере нужны скрипты, если их к блицу прикрутить (например луа), то будет уже лучше, но всё равно хз, полной динамики с огромными возможностями жобться думаю не удастся. |
Re: Как создать консоль?
|
Re: Как создать консоль?
А в журнале есть такая статья...
http://blitzetcetera.org/index.php/О...ольным_методом |
Re: Как создать консоль?
использовать while..wend даже удобнее, ненужно отслеживать что ты сейчас находишся в консоли. А то полцчается что набирая некотрые команды у меня герои в игре наинают туда сюда бегать.
Вопрос: как обрабатывать введеную команду? всмысле как доставать параметры из команды? Например CreateEnemy 10,10,10,boll. Так понимаю что надо сначала узнать что это за команда, прочитав до символа пробела, а потом читать параметры через зпт, блин но как это сделать? |
Re: Как создать консоль?
Trilliput, юзай Mid функцию, она возвращает порядковый номер найденого символа.
Насчёт Нормального консоля, пауза нерулит. Прикинь у тебя будет такая ситуация: на тебе облучка, ты делаешь ждать тут получаються потери во времени, переборы, могут возникать большое колличество багов. В общем имхо: не советую. Делай динамику, я проверял намного лучше будет. |
Re: Как создать консоль?
Проблем спаузой в моей программе нет, не та сложность. Наоборот получается даже лучше, мне не нужно следить за "паузой" в игре или за тем что бы клавиши нажатые в консоли не влияли на игру. Ну крутиться себе цикл и пусть крутиться, выполняется же только он!
Ну а вобще пока у меня такой вариант (реалтайм :mda: ): Код:
If cons=True |
Re: Как создать консоль?
Цитата:
|
Re: Как создать консоль?
Цитата:
debug=[true,false] savelog=[file] do [???] help ... вобщем 5-10 команд вполне хватит. |
Re: Как создать консоль?
Мне нужно прсто менять за раз несколько параметров, иначе в игре хаос начинается. Ну и свой способ всегда понятнее и лучше.
Проблема в том как строку разбирать на элементы. |
Re: Как создать консоль?
Ой забыл! Сори напутал, не Mid а Instr юзай ;) Крч, указываешь стринг в кором искать, далее стринг (символы), которые искать и далее порядковый номер буквы, начиная с которой искать. Возвращает номер порковый номер первого же совпадения который обнаружит.
|
Часовой пояс GMT +4, время: 18:18. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot