From 617d84536a125ee7e63f429b8ae0c4f04b3405b2 Mon Sep 17 00:00:00 2001 From: "p.kosyh"
-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