diff --git a/1p.png b/1p.png deleted file mode 100644 index e10367a..0000000 Binary files a/1p.png and /dev/null differ diff --git a/GoldenCoin.png b/GoldenCoin.png new file mode 100644 index 0000000..060ff9a Binary files /dev/null and b/GoldenCoin.png differ diff --git a/main.lua b/main.lua index 6bae37f..a76acf3 100644 --- a/main.lua +++ b/main.lua @@ -30,10 +30,9 @@ main = room { }; act1r1 = room { - nam = 'Действие первое. Гипертекстовое приключение.', + nam = 'Действие первое.', enter = function() lifeon('act1r1'); - theme.gfx.bg("summer.jpg"); theme.inv.geom(1100, 10, 180, 730); theme.win.geom(60, 10, 1000, 730); theme.inv.color(nil, "#800000", "#800000"); @@ -48,13 +47,14 @@ act1r1 = room { end, dsc = [[Сейчас вы находитесь в имитации приключенческой игры. Для наглядности вам будет показано несколько примеров игр. Вы оцените их управление и получите понятие о возможностях движка.^^ Объекты в сцене -- это чаще всего какие-нибудь предметы. В этой сцене находится три предмета. Два из них вы можете положить в свой инвентарь. Попробуйте щёлкнуть по всем ссылкам.]], - obj = { 'penny', 'ruble', 'arcade'}, + obj = { 'arcade', 'ruble', 'penny'}, }; act1r2 = room{ - nam = 'Действие первое, сцена вторая.', + nam = 'Действие второе.', enter = function() inv():zap(); + theme.gfx.bg("summer.jpg"); theme.inv.reset(); theme.win.reset(); set_music('w-mh.it'); @@ -115,42 +115,46 @@ out = room{ dsc = [[Вы благополучно выходите из полей.]], enter = code[[set_music('approach.it');]], act = function() - goto('act2'); + goto('ending'); end, obj = {vobj('continue', '{Продолжить}'),} } -act2 = room { - nam = 'Действие второе. Текстовое приключение.', - enter = function() - theme.gfx.bg("winter_dusk_by_raoul_pop.jpg"); - theme.inv.reset(); - theme.win.reset(); - me().panel:add 'parser'; - --theme.win.color("#ffd0c0", "#a060f0", "#a060f0"); - end, - dsc = [[Чтобы не превращать короткое введение в долгую прогулку на несколько часов, это действие было сокращено до минимума.^^ -Здесь вам предстоит ознакомиться с управлением в обычном текстовом квесте. В классических текстовых приключениях вы должны набирать команды на клавиатуре, чтобы взаимодействовать с игрой. Здесь нет ссылок.^^ -Для простоты это поле принимает только одну команду -- <<Продолжить>>. Наберите команду, нажмите <<ВВОД>> (или Enter) и игра отреагирует на то, что вы набрали.^^ -Эта памятка не исчезнет при выполнении любого действия, как в предыдущих сценах.^^ -Чтобы вызвать меню Steed, нажмите на кнопке меню (в этой игре она выглядит как силуэт лошади). В меню вам доступны многие функции управления играми, например, можно сохранить игру и позже -- вернуться к ней.]], - next = code [[ goto 'act3' ]], - obj = {parser} -}; - -act3 = room { - nam = 'Действие третье. Мини-игра.', +ending = room { + nam = 'Эпилог', enter = function() --theme.gfx.bg("winter_dusk_by_raoul_pop.jpg"); theme.inv.reset(); theme.win.reset(); --theme.win.color("#ffd0c0", "#a060f0", "#a060f0"); end, - dsc = [[Здесь будет Очень Простая Мини-Игра как пример того, что можно сделать на Steed.]], + dsc = [[Поздравляем! Теперь вы легко сможете играть в гипертекстовые приключения.^^ + Но кроме подобных игр, на Steed существуют и совершенно другие. Обязательно поиграйте!^^ + Если вы задумали написать свою игру, вы можете прочитать документацию. Она лежит в каталоге doc там, где вы установили Steed или в /usr/share/doc/steed. Вам также поможет исходный код этой игры.^^ + На этом введение в Steed закончено. Спасибо за игру!]], + way = {'help', 'help2', 'credits'} }; +credits = room{ + nam = "Использованные работы", + dsc = [[ + В игре использована музыка:^^ + DipA -- A Bard's Tale^ + warder -- Muuttohaukka^ + Nightbeat -- Approach^^ + + В игре использованы иллюстрации по лицензии CC-BY:^^ + Raoul Pop -- Winter dusk^ + Joe Linux -- Golden Coin^ + a.dombrowski -- River and mountains^^ + + Также использованы куски кода из игры «Погружение в INSTEAD» Петра Косых (а именно две справочные комнаты). + ]], + way = {'help', 'help2'} +} + help = room { - nam = 'Список клавиш', + nam = 'Список горячих клавиш', dsc = [[ Esc - Вызов меню;^ Alt+Q - Выход;^ @@ -178,7 +182,7 @@ help = room {  - В режиме "Ссылки": прокрутка активной зоны;^  - В режиме "Умный": прокрутка активной зоны. ]], - obj = { vway('cmdline', 'Посмотреть {параметры командной строки}.', 'help2')}, + way = {'help2', 'credits'} }; help2 = room { @@ -197,5 +201,5 @@ help2 = room { -encode [encoded.lua] - закодировать исходный текст lua (используйте doencfile для загрузки такого файла);^ -mode [ШИРИНАxВЫСОТА] - установить разрешение. ]], - obj = { vway('keys', 'Посмотреть {список клавиш}.', 'help')}, + way = {'help2', 'credits'} }; diff --git a/objects.lua b/objects.lua index ca0d5b4..3e70d44 100644 --- a/objects.lua +++ b/objects.lua @@ -1,8 +1,8 @@ penny = obj { - nam = 'пенни', - dsc = 'На полу валяется пыльная медная {монета.}', - tak = 'Вы поднимаете монету и читаете надпись: <<Один пенни>>', - inv = img('1p.png')..' Медная монета в один пенни.' + nam = 'золотой', + dsc = 'На полу у ножек автомата валяется пыльная тусклая {монета.}', + tak = 'Вы поднимаете монету и стираете пыль. Она начинает блестеть и вы понимаете, что она золотая.', + inv = img('GoldenCoin.png')..txtnb(' ')..'Какая-то золотая монета. Должно быть очень ценная.' -- txtnb делает все пробелы неразрывными } ruble = obj { nam = 'рубль', @@ -23,7 +23,7 @@ arcade = obj { end if (that == penny) then inv():del('penny'); - return [[Пенни проваливается в щель для монет. Игровой автомат не спешит отреагировать.]] + return [[Монета проваливается в щель. Игровой автомат не спешит отреагировать.]] end end }