|
发表于 2018-1-22 17:55:33
|
显示全部楼层
本帖最后由 creat 于 2018-1-22 09:54 AM 编辑
处理过程看不懂
获取出口大致过程如此:- function Find_Exit(l)
- l=string.gsub (l,"%W","!") --替换掉非数字和字母
- local s,e,n,key,_=0,#l,1 --定义局部变量
- local t={} --初始化局部变量t为一个表
- while s
- do _,s,key=string.find (l,"(%w+)!!",s) --以s为起点查找数字或字母并赋值给key
- if key then t[n]=key n=n+1 end --如果找到key的情况下把key写进表t
- end
- return t --返回t
- end
复制代码 用法:假设你不知道怎么用- l=" 这里明显的方向有 west、east、down、south、north 和 up。"
- t=Find_Exit(l)
- for i,v in pairs(t) --遍历t并打印它的内容
- do print (i,v )end
复制代码 不回到刚才来的方向需要提前记录之前的动作,并且对相应的出口进行标记。大致如此 |
|