Система счёта

This commit is contained in:
Alexander Yakovlev 2020-12-22 21:36:52 +07:00
parent 3ce16f20dc
commit a5ba7501c1
Signed by: oreolek
GPG key ID: 1CDC4B7820C93BD3
5 changed files with 45 additions and 5 deletions

View file

@ -20,3 +20,8 @@
стрелять в рукав
вставить руку в робота
включить робота
выставить К
стрелять в булавку
выставить Т
стрелять в щит
юг

View file

@ -28,12 +28,21 @@ function set_pic(f)
--end
end
global {
score = 0,
maxscore = 2
}
game.dsc = ''
player.description = "Здесь нет зеркал. Но хотя бы ноги выглядят прекрасно.";
set_pic('wall.jpg')
pl.plural = false
pl.pronouns = 'fem'
function givepoint()
score = score + 1;
pn 'Ваш счёт увеличился на 1 очко.';
end
dofile('custom_parser.lua')
dofile('rooms/end.lua')
dofile('rooms/objects.lua')

View file

@ -1,4 +1,8 @@
room {
nam = 'end';
dsc = 'КОНЕЦ';
title = 'ВЫ ВЫИГРАЛИ';
dsc = function()
pn 'КОНЕЦ';
pn('Вы набрали '..score..' очков из '..maxscore..' возможных.');
end
}

View file

@ -49,6 +49,7 @@ obj {
obj {
-"патина";
canonical = 'патина';
scored = false;
nam = 'patina';
oncreate = function()
p 'Блестящие поверхности вокруг начинают покрываться слоем патины.'
@ -74,5 +75,8 @@ obj {
-"булава";
canonical = 'булава';
nam = 'bulava';
oncreate = function()
givepoint()
end;
description = 'Холодное оружие. Может пригодиться против… кого-нибудь.';
}

View file

@ -72,7 +72,6 @@ obj {
obj {
-"робот,уборщик";
nam = 'robot';
alive = false;
description = 'У стенки стоит выключенный робот-уборщик. У него два длинных манипулятора-руки и широкие стальные гусеницы.';
before_SwitchOn = function(s)
if not (s:srch('battery')) then
@ -83,9 +82,23 @@ obj {
p "Робот оживляется, но тут же потухает. Новое сообщение: неисправность руки.";
return true;
end
s.alive = true;
lifeon('robot');
return "Робот включается и начинает тихо бурчать. Наверное, оценивает чистоту чулана.";
end;
life = function()
if here().dirty then
pn '«ВНИМАНИЕ. ОБНАРУЖЕНА ГРЯЗЬ.»';
p 'Робот срывается с места и начинает генеральную уборку.';
if here():srch('patina') then
pn 'Он протирает всё вокруг, тщательно счищая слой патины.'
if not _'patina'.scored then
_'patina'.scored = true
givepoint();
end
end
here().dirty = false;
end
end;
obj = {
'robot_hand',
'button'
@ -103,7 +116,7 @@ obj {
nam = 'safe';
dsc = 'Напротив стоит маленький сейф.';
description = function()
p 'Маленький сейф с электронным замком. Кто-то выдернул из него провода и подвёл к пустой выемке. Наверное, ему не хватает питания.';
p 'Маленький оружейный сейф с электронным замком. Кто-то выдернул из него провода и подвёл к пустой выемке. Наверное, ему не хватает питания.';
return false;
end;
obj = {
@ -147,7 +160,6 @@ obj {
return 'На полу лежит маленькая батарея.';
end;
description = 'Сменная батарея для бытовой электроники типа «крона». Одному пылесосу её хватает на тридцать лет.';
-- BUG: неотключаемое сообщение "Ты помещаешь батарею в ___"
before_Insert = function(self, what)
if what^'robot' then
pn "На панели робота зажигается огонёк. Можно попытаться его включить.";
@ -240,4 +252,10 @@ obj {
found_in = 'pantry';
dsc = 'На полу лежит булавка.';
description = 'Швейная безопасная булавка. Ничего примечательного.';
}: dict {
['булавка/рд'] = 'булавки';
['булавка/дт'] = 'булавке';
['булавка/вн'] = 'булавку';
['булавка/тв'] = 'булавкой';
['булавка/пр'] = 'булавке';
}