Обновление Lua, обучение
- walk вместо goto, обновление версии Lua - теперь первая комната - это простое обучение, чтобы игрок знал что делать
This commit is contained in:
parent
9e083849df
commit
9ecbb1dbec
11
engine.lua
11
engine.lua
|
@ -142,12 +142,15 @@ function news(v)
|
||||||
return v;
|
return v;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Проверка, выключено ли определённое слово в указанной комнате.
|
||||||
|
-- Параметр room - объект комнаты
|
||||||
|
-- Возвращает false, если слово выключено.
|
||||||
function is_activated(previous, current, room)
|
function is_activated(previous, current, room)
|
||||||
for i,v in ipairs(room.obj) do
|
for i,v in ipairs(room.obj) do -- проверяем каждое предложение в комнате
|
||||||
for j,word in ipairs(v.obj) do
|
for j,word in ipairs(v.obj) do -- проверяем каждое слово в предложении
|
||||||
if (previous == nil) then
|
if (previous == nil) then
|
||||||
if (v[1]._word == current) then
|
if (word._word == current) then
|
||||||
return v[1]._enabled
|
return word._enabled
|
||||||
else
|
else
|
||||||
return nil
|
return nil
|
||||||
end
|
end
|
||||||
|
|
26
main.lua
26
main.lua
|
@ -7,7 +7,18 @@ dofile 'engine.lua'
|
||||||
dofile 'maximov.lua'
|
dofile 'maximov.lua'
|
||||||
dofile 'newspaper.lua'
|
dofile 'newspaper.lua'
|
||||||
|
|
||||||
main = room{
|
main = room {
|
||||||
|
nam = 'Добро пожаловать.',
|
||||||
|
dsc = '',
|
||||||
|
obj = {
|
||||||
|
vobj('intro1', 'Вы - '),
|
||||||
|
sentence(txtu("цензор")),
|
||||||
|
vobj('introdot', '.'),
|
||||||
|
'got_that'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
intro = room{
|
||||||
nam = 'Почтовый ящик 107. Ул. Елизарова, 76 -- г. Новосибирск, Красный проспект, 23-12',
|
nam = 'Почтовый ящик 107. Ул. Елизарова, 76 -- г. Новосибирск, Красный проспект, 23-12',
|
||||||
--_enabled = 0,
|
--_enabled = 0,
|
||||||
--_words = 0,
|
--_words = 0,
|
||||||
|
@ -19,10 +30,21 @@ main = room{
|
||||||
signed, 'sign_main'
|
signed, 'sign_main'
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
got_that = obj {
|
||||||
|
nam = 'send',
|
||||||
|
dsc = function()
|
||||||
|
if not is_activated(nil, txtu("цензор"), main) then
|
||||||
|
return '^'..txtc(txtu('{Понял}'))
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
act = function()
|
||||||
|
return walk('intro');
|
||||||
|
end,
|
||||||
|
}
|
||||||
sign_main = obj{
|
sign_main = obj{
|
||||||
nam = 'send',
|
nam = 'send',
|
||||||
dsc = txtc(txtu('{ОТПРАВИТЬ}')),
|
dsc = txtc(txtu('{ОТПРАВИТЬ}')),
|
||||||
act = function()
|
act = function()
|
||||||
return goto('maximov_1');
|
return walk('maximov_1');
|
||||||
end,
|
end,
|
||||||
}
|
}
|
|
@ -49,7 +49,7 @@ sign_maximov_1 = obj{
|
||||||
end
|
end
|
||||||
--send("Уважаемый", "господин", "Я не совсем понял, за кого ты меня принимаешь.") --простое условие
|
--send("Уважаемый", "господин", "Я не совсем понял, за кого ты меня принимаешь.") --простое условие
|
||||||
end
|
end
|
||||||
return goto('maximov_2');
|
return walk('maximov_2');
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -57,6 +57,6 @@ sign_maximov_2 = obj{
|
||||||
nam = 'send',
|
nam = 'send',
|
||||||
dsc = txtc(txtu('{ОТПРАВИТЬ}')),
|
dsc = txtc(txtu('{ОТПРАВИТЬ}')),
|
||||||
act = function()
|
act = function()
|
||||||
return goto('newspaper_1');
|
return walk('newspaper_1');
|
||||||
end,
|
end,
|
||||||
}
|
}
|
|
@ -8,7 +8,7 @@ newspaper_1 = news{
|
||||||
'На самом деле небо -- зелёное',
|
'На самом деле небо -- зелёное',
|
||||||
'О чём думают ангелы. Интервью с епископом Фомой.'
|
'О чём думают ангелы. Интервью с епископом Фомой.'
|
||||||
},
|
},
|
||||||
goto = 'newspaper_2'
|
walk = 'newspaper_2'
|
||||||
};
|
};
|
||||||
|
|
||||||
sign_newspaper_1 = obj{
|
sign_newspaper_1 = obj{
|
||||||
|
@ -23,7 +23,7 @@ sign_newspaper_1 = obj{
|
||||||
if (is_printed('Дворники осваивают новую технику',newspaper_1)) then
|
if (is_printed('Дворники осваивают новую технику',newspaper_1)) then
|
||||||
table.insert(newspaper_2.obj, table.maxn(newspaper_2.obj), headline('Старая метла лучше новой метёт'))
|
table.insert(newspaper_2.obj, table.maxn(newspaper_2.obj), headline('Старая метла лучше новой метёт'))
|
||||||
end
|
end
|
||||||
return goto(newspaper_1.goto)
|
return walk(newspaper_1.walk)
|
||||||
end
|
end
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,5 +36,5 @@ newspaper_2 = news{
|
||||||
'Белое небо нашего города',
|
'Белое небо нашего города',
|
||||||
'Мы -- атеисты! Мэр города выступил с речью в поддержку атеистической молодёжи'
|
'Мы -- атеисты! Мэр города выступил с речью в поддержку атеистической молодёжи'
|
||||||
},
|
},
|
||||||
goto = 'newspaper_2'
|
walk = 'newspaper_2'
|
||||||
};
|
};
|
Loading…
Reference in a new issue