Что нам стоит движок построить |
Данная статья рассказывает о том, как создать простейший текстовый движок. Для разработки используется среда Borland Pascal 7.0. Это самодостаточная и компактная среда разработки приложений MS-SOS.
Простейший движок состоит из главного цикла и трёх вспомогательных процедур:
while not Stop do
begin
InputStr;
Morfolog;
Work;
end.
InputStr - Ввод строки управления с последующей обработкой (Перевод всех символов к верхнему регистру) и разбиение строки на слова;
Morfolog - Обработка слов с целью идентификации и сопоставления с зашитыми в движок командами (Север, Юг, Открыть и т.д.). Получение кода команды и вспомогательных кодов;
Work - Интерпретатор кодов команд.
Самой большой процедурой является процедура интерпретации, а самой критической (с точки зрения распознавания) является вторая процедура (получение кодов команд).
Сейчас я представлю текст программы, в которой реализован простейший текстовый движок, понимающий команды QUIT, HELP, NORTH, SOUTH.
{=**= Демонстрационная программа текстового движка =**=}
var
y1 : integer; {код команды}
s1,s2 : String; {для обработки строк}
stop : boolean; {завершить программу???}
Procedure InputStr;
var
i : byte;
begin
Write('>>');
i:=1;
Readln(s1);
s2:='';
While (s1[i]=' ') and (i<=length(s1)) do inc(i);
While (s1[i]<>' ') and (i<=length(s1)) do
begin
s2:=s2+upcase(s1[i]);
inc(i)
end;
if length(s2)>3 then delete(s2,4,100);
end;
Procedure Morfolog;
begin
y1:=0;
{ Команды : }
if (s2='N') or (s2='NOR') or (s2='NO') or (s2='NORT') then y1:=1;
if (s2='S') or (s2='SOU') or (s2='SO') or (s2='SOUT') then y1:=2;
if (s2='HEL') or (s2='H') or (s2='HE') or (s2='HELP') then y1:=3;
if (s2='QUI') or (s2='QU') or (s2='QUIT') or (s2='Q') then y1:=255;
end;
Procedure Work;
begin
Case y1 of
1: begin
{идем на север}
writeln('Идем на север...');
end;
2: begin
{идем на юг}
writeln('Идем на юг...');
end;
3: begin
{помощь}
writeln('Помощь...');
end;
255: begin
writeln('Как Вам будет угодно...');
Stop:=true;
end;
end;
end;
begin
Stop := false;
While not stop do
begin
InputStr;
Morfolog;
Work;
end;
end.
|
|
Как видите, ничего в этом сложного нет. Но не стоит расслабляться.
|
Социальные сети