我正在Gideros(使用Lua)创建一个回合制游戏,我遇到了记录每个演员事件的问题。我希望玩家能够为他们控制的每个角色设置路径,方向和火力事件。我有一个使用像
这样的多维数组的想法TaskList = { 1 = { "MoveTo", {3,5} },
2 = { "AimTo", {5,2} },
3 = { "Fire" },
4 = { "MoveTo", {23,21} }
然而,这似乎是一种非常烦人且效率低下的方法。有没有明显更好的方法?感谢。
答案 0 :(得分:4)
我建议如下:
1 =
,2 =
等。这与“数组”初始化语法有关。例如:
TaskList = {
{ action="MoveTo", location={3,5} },
{ action="AimTo", location={5,2} },
{ action="Fire" },
{ action="MoveTo", location={23,21} }
}
答案 1 :(得分:1)
通过函数调用构建数组怎么样?
function MoveTo( a, b ) return { action="MoveTo", location={ a, b } } end
function AimTo( a, b ) return { action="AimTo", location={ a, b } } end
function Fire() return { action="Fire" } end
TaskList = { MoveTo( 3, 5 ),
AimTo( 5, 2 ),
Fire(),
MoveTo( 23, 21 ) }