From 617d84536a125ee7e63f429b8ae0c4f04b3405b2 Mon Sep 17 00:00:00 2001 From: "p.kosyh" Date: Thu, 1 Jul 2010 16:42:27 +0000 Subject: [PATCH] doc fixed, path function --- doc/writing_games-en.txt | 15 +++++++++++++-- doc/writing_games.txt | 15 +++++++++++++-- stead/object.lua | 14 ++++++++++++++ 3 files changed, 40 insertions(+), 4 deletions(-) diff --git a/doc/writing_games-en.txt b/doc/writing_games-en.txt index 9ffd2f6..9f8bb26 100644 --- a/doc/writing_games-en.txt +++ b/doc/writing_games-en.txt @@ -32,7 +32,7 @@ At the beginning of “main.lua” file a header may be defined. It consists of From version 1.2.0 after headers you must define required STEAD API version. It is "1.2.0" currently. -version "1.2.0" +instead_version "1.2.0" Game initialization should be defined as init function. For example: @@ -908,7 +908,7 @@ Starting from version 1.2.0 you can use modules via “require” function call. Modules can be used like this: --$Name: My game!$ -version "1.2.0" +instead_version "1.2.0" require "para" require "dbg" ... @@ -976,6 +976,17 @@ main = room { } } +You may use xroom: + +main = xroom { + forcedsc = true; + dsc = [[ I'm in the room. ]]; + xdsc = [[ I see an {anapple:apple} and a {aknife:knife}. ]]; + obj = { + 'apple', 'knife', 'chain', 'tool', + } +} + “input” module allows to implement simple text entry fields. “click” module helps to handle mouse clicks on scene pictures. diff --git a/doc/writing_games.txt b/doc/writing_games.txt index d87e4d3..2f06cae 100644 --- a/doc/writing_games.txt +++ b/doc/writing_games.txt @@ -32,7 +32,7 @@ Начиная с версии 1.2.0 сразу после заголовков вам необходимо указать версию STEAD API, которая требуется игре. На данный момент последняя версия 1.2.0. -version "1.2.0" +instead_version "1.2.0" Если version отсутствует, то STEAD API будет работать в режиме совместимости (устаревшее API). @@ -905,7 +905,7 @@ is_music() позволяет узнать, проигрывается ли му Использование модуля выглядит так: --$Name: Моя игра!$ -version "1.2.0" +instead_version "1.2.0" require "para" require "dbg" ... @@ -973,6 +973,17 @@ main = room { } } +Вы можете также использовать комнату xroom: + +main = xroom { + forcedsc = true; + dsc = [[Я в комнате.]]; + xdsc = [[ Я вижу {apple:яблоко} и {knife:нож}. ]]; + obj = { + 'apple', 'knife', 'chain', 'tool', + } +} + Модуль input позволяет реализовывать простые поля ввода, а click отслеживает щелчки по картинке сцены. diff --git a/stead/object.lua b/stead/object.lua index 46e89bb..2919a36 100644 --- a/stead/object.lua +++ b/stead/object.lua @@ -173,5 +173,19 @@ function list_concat(self, other, pos) end end +function path(w, wh) + if not wh then + wh = here(); + else + wh = ref(wh); + end + local o = ways(wh):srch(w); + o = ref(o); + if isRoom(o) then + return o + end + return nil +end + game.lifes = list(game.lifes) stead:init(); -- reinit