翔鹰帝国网|帝国时代论坛|帝国时代系列|神话时代
 找回密码
 注册翔鹰会员(昵称)
搜索
楼主: 卧龙先生

[工具] [下载]AI Editor 0.99z 与 AI Builder

  [复制链接]

105

主题

9

精华

2万

积分

圣徒

耕战
4516
鹰币
2080
天龙币
0
回帖
1143

一级皇家勋章翔鹰建站十周年纪念章一级翔鹰勋章特级嘉禾勋章特级帝国勋章鹰之智者蛟龙勋章

附庸关系0
 楼主| 发表于 2010-11-19 23:45:27 | 显示全部楼层
检查代码必须做这个判断,要知道是否可以用这些数字代替 引号内的字符

一个规则最多容纳多少个 事实 或 动作,以及 or and not 范围内的多个 事实 是否当作一个来计算?现在弄清楚,可以早日开工

[ 本帖最后由 卧龙先生 于 2010-11-19 23:48 编辑 ]
忽见天上一火链,好像玉皇要抽烟。
如果玉皇不抽烟,为何又是一火链。
回复

使用道具 举报

78

主题

13

精华

2万

积分

圣徒

耕战
2683
鹰币
182
天龙币
0
回帖
1957

二级皇家勋章一级嘉禾勋章二级帝国勋章十字军勋章雄鹰勋章活跃者使者勋章

附庸关系0
发表于 2010-11-20 00:02:32 | 显示全部楼层
不会 这些使用比的语句
回复

使用道具 举报

105

主题

9

精华

2万

积分

圣徒

耕战
4516
鹰币
2080
天龙币
0
回帖
1143

一级皇家勋章翔鹰建站十周年纪念章一级翔鹰勋章特级嘉禾勋章特级帝国勋章鹰之智者蛟龙勋章

附庸关系0
 楼主| 发表于 2010-11-20 00:19:32 | 显示全部楼层
我的帝国删除了,所以这些要拜托你。勉为其难吧!
忽见天上一火链,好像玉皇要抽烟。
如果玉皇不抽烟,为何又是一火链。
回复

使用道具 举报

78

主题

13

精华

2万

积分

圣徒

耕战
2683
鹰币
182
天龙币
0
回帖
1957

二级皇家勋章一级嘉禾勋章二级帝国勋章十字军勋章雄鹰勋章活跃者使者勋章

附庸关系0
发表于 2010-11-20 08:36:02 | 显示全部楼层
哦,我一开始误解了,我是说自动补全的数字没用。而数字固然可以代替字符串。如果直接写在两引号之间不会有问题,就直接说出数字。或者使用另外的专门用来发字符串号码的语句,就没用引号,而且是送出在language.dll里面的对话。
总而言之,有上面提到的CHAT和LOAD什么的就有双引号,内容是什么都不会违法
回复

使用道具 举报

78

主题

13

精华

2万

积分

圣徒

耕战
2683
鹰币
182
天龙币
0
回帖
1957

二级皇家勋章一级嘉禾勋章二级帝国勋章十字军勋章雄鹰勋章活跃者使者勋章

附庸关系0
发表于 2010-11-20 08:38:12 | 显示全部楼层
送出字符串号码的有专门语句,额,据教程说必须是有用的字符串号码,但另外一方面如果写别的似乎不会报错。(这说的报错是游戏开始时弹框)
回复

使用道具 举报

105

主题

9

精华

2万

积分

圣徒

耕战
4516
鹰币
2080
天龙币
0
回帖
1143

一级皇家勋章翔鹰建站十周年纪念章一级翔鹰勋章特级嘉禾勋章特级帝国勋章鹰之智者蛟龙勋章

附庸关系0
 楼主| 发表于 2010-11-20 08:49:54 | 显示全部楼层
老胡: 刚发现,chat-to-all 用于发送自定字符,至于内置的常量字符串用的是另一个命令 chat-to-player-using-id
787918944: 很感谢!现在可以开始了。不过 or and not 尚未明确之前,不做判断!

我的 qq: 117289747 谁愿意加我!:)

[ 本帖最后由 卧龙先生 于 2010-11-20 08:50 编辑 ]
忽见天上一火链,好像玉皇要抽烟。
如果玉皇不抽烟,为何又是一火链。
回复

使用道具 举报

105

主题

9

精华

2万

积分

圣徒

耕战
4516
鹰币
2080
天龙币
0
回帖
1143

一级皇家勋章翔鹰建站十周年纪念章一级翔鹰勋章特级嘉禾勋章特级帝国勋章鹰之智者蛟龙勋章

附庸关系0
 楼主| 发表于 2010-11-20 10:58:26 | 显示全部楼层
把你所知道的告诉我吧:

#load-if-defined 判断语句会出现在 规则 里吗?就像这样:

(defrule
  #load-if-not-defined PERSIAN-CIV
        (goal unit-goal knight)
  #end-if
        (goal control-goal 0)
        (unit-type-count villager > 90)
        (or
                (strategic-number sn-current-age >= ci-transit)
                (and
                        (food-amount > 400)
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; (gold-amount < 200)
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; )
&#160; &#160; &#160; &#160; )
=>
&#160; &#160; &#160; &#160; (set-goal control-goal militiaman-line)
&#160; &#160; &#160; &#160; (disable-self)
)

这种结构的 if 语句正常吗:

#load-if
#load-if
#else
#else
#if-end
#if-end

[ 本帖最后由 卧龙先生 于 2010-11-20 11:36 编辑 ]
忽见天上一火链,好像玉皇要抽烟。
如果玉皇不抽烟,为何又是一火链。
回复

使用道具 举报

78

主题

13

精华

2万

积分

圣徒

耕战
2683
鹰币
182
天龙币
0
回帖
1957

二级皇家勋章一级嘉禾勋章二级帝国勋章十字军勋章雄鹰勋章活跃者使者勋章

附庸关系0
发表于 2010-11-20 16:51:48 | 显示全部楼层
第一个,不能…只能LOAD包含DEFRULE。
第二,不正常,应该是LOAD.LOAD.ELSE.ENDIF.ELSE.ENDIF(如果你指的是一个条件性读取包含另一个)
回复

使用道具 举报

78

主题

13

精华

2万

积分

圣徒

耕战
2683
鹰币
182
天龙币
0
回帖
1957

二级皇家勋章一级嘉禾勋章二级帝国勋章十字军勋章雄鹰勋章活跃者使者勋章

附庸关系0
发表于 2010-11-20 17:28:20 | 显示全部楼层
那个,我问过了,简单地说,一个规则内,最多能有16个开括号,不包括defrule那一个。别的不用理,解释起来麻烦。另外至少一个事实和动作
回复

使用道具 举报

105

主题

9

精华

2万

积分

圣徒

耕战
4516
鹰币
2080
天龙币
0
回帖
1143

一级皇家勋章翔鹰建站十周年纪念章一级翔鹰勋章特级嘉禾勋章特级帝国勋章鹰之智者蛟龙勋章

附庸关系0
 楼主| 发表于 2010-11-20 21:05:55 | 显示全部楼层
很不错!不过下面还有...

(or

&#160;&#160;()
&#160;&#160;()
)
上面的当作几个? 一个?两个?三个?

那么就是说,一个规则内 动作 和 事实 相加不能超越 16 个?不仅仅是 动作?

[ 本帖最后由 卧龙先生 于 2010-11-20 21:11 编辑 ]
忽见天上一火链,好像玉皇要抽烟。
如果玉皇不抽烟,为何又是一火链。
回复

使用道具 举报

78

主题

13

精华

2万

积分

圣徒

耕战
2683
鹰币
182
天龙币
0
回帖
1957

二级皇家勋章一级嘉禾勋章二级帝国勋章十字军勋章雄鹰勋章活跃者使者勋章

附庸关系0
发表于 2010-11-20 21:40:43 | 显示全部楼层
说了,不理会动作还是事实也不管逻辑判断 只要数左括号

(defrule
(or
()
()
)
)

就是是3个

[ 本帖最后由 老胡V1 于 2010-11-20 21:42 编辑 ]
回复

使用道具 举报

105

主题

9

精华

2万

积分

圣徒

耕战
4516
鹰币
2080
天龙币
0
回帖
1143

一级皇家勋章翔鹰建站十周年纪念章一级翔鹰勋章特级嘉禾勋章特级帝国勋章鹰之智者蛟龙勋章

附庸关系0
 楼主| 发表于 2010-11-21 00:10:32 | 显示全部楼层
你不能理解严谨的态度在开发方面的重要性!
忽见天上一火链,好像玉皇要抽烟。
如果玉皇不抽烟,为何又是一火链。
回复

使用道具 举报

78

主题

13

精华

2万

积分

圣徒

耕战
2683
鹰币
182
天龙币
0
回帖
1957

二级皇家勋章一级嘉禾勋章二级帝国勋章十字军勋章雄鹰勋章活跃者使者勋章

附庸关系0
发表于 2010-11-21 08:52:32 | 显示全部楼层
额 详细一点的描述是 “一个规则最多可以有16个成分,事实、动作、逻辑判断符等都视作成分”

我觉得对于你编写程序来说直接数左括号更简单罢了
回复

使用道具 举报

105

主题

9

精华

2万

积分

圣徒

耕战
4516
鹰币
2080
天龙币
0
回帖
1143

一级皇家勋章翔鹰建站十周年纪念章一级翔鹰勋章特级嘉禾勋章特级帝国勋章鹰之智者蛟龙勋章

附庸关系0
 楼主| 发表于 2010-11-21 09:05:22 | 显示全部楼层
描述的好!

语法检查是个严谨的过程,要考虑的问题很多,比如 (chat-to-all "1234 (56) 789") . 这句正确的语句,单纯搜索符号 ) 来做判断,那就错的离谱了.所以,尽管现在不判断语句的参数正确性,但包含字符串参数的语句还是要优先处理的.这就是我问题那么多的原因.

考虑过这种格式正确的语句吗:&#160;

(
chat-to-all
"123"&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; )

从编译角度来讲是正确的,帝国应该也要并且会支持这种方式.

这不是个小工作,目前虽然写了 500 多行,不过距离成功还有很长的路.

[ 本帖最后由 卧龙先生 于 2010-11-21 09:20 编辑 ]
忽见天上一火链,好像玉皇要抽烟。
如果玉皇不抽烟,为何又是一火链。
回复

使用道具 举报

78

主题

13

精华

2万

积分

圣徒

耕战
2683
鹰币
182
天龙币
0
回帖
1957

二级皇家勋章一级嘉禾勋章二级帝国勋章十字军勋章雄鹰勋章活跃者使者勋章

附庸关系0
发表于 2010-11-21 09:36:05 | 显示全部楼层
哦 也对  我疏忽了 感谢提醒
回复

使用道具 举报

105

主题

9

精华

2万

积分

圣徒

耕战
4516
鹰币
2080
天龙币
0
回帖
1143

一级皇家勋章翔鹰建站十周年纪念章一级翔鹰勋章特级嘉禾勋章特级帝国勋章鹰之智者蛟龙勋章

附庸关系0
 楼主| 发表于 2010-11-21 11:08:09 | 显示全部楼层
加了不发信息,找不到人{38}
忽见天上一火链,好像玉皇要抽烟。
如果玉皇不抽烟,为何又是一火链。
回复

使用道具 举报

105

主题

9

精华

2万

积分

圣徒

耕战
4516
鹰币
2080
天龙币
0
回帖
1143

一级皇家勋章翔鹰建站十周年纪念章一级翔鹰勋章特级嘉禾勋章特级帝国勋章鹰之智者蛟龙勋章

附庸关系0
 楼主| 发表于 2010-11-23 13:56:11 | 显示全部楼层
0.99i 发布!

写了一千多行代码.脚本检查测试版最终搞定.



下面的 delphi 常量是这次工作的脚印,也让大家见识下本人的 chinesenglish:


const
&#160;&#160;_diUnknowNumber = '未知用途的数字:';
&#160;&#160;_diUnknowName = '未知用途的单词:';
&#160;&#160;_diUnknowText = '不可识别的内容:';
&#160;&#160;_diUnknowEmblem = '未知用途的符号:';

&#160;&#160;_diUnknowElse = '#else 前方缺乏 #load-if* 语句';
&#160;&#160;_diUnknowEnd = '#end 前方缺乏 #load-if* 语句';

&#160;&#160;_diNoFoundCharofEnd = '找不到期望的结束符: ")"';
&#160;&#160;_diNoString = '找不到期望的字符串描述';
&#160;&#160;_diLoadRandomPercentError = 'load-random 要求的百分比参数计数不正确.';
&#160;&#160;_diLoadRandomItemCountError = 'load-random 项目数量少于两条,或者你应该调整"剩余百分比项目"作为最后一个项目.';
&#160;&#160;_diDefconstValueError = '无效的常量值描述';
&#160;&#160;_diRuleCountTooLong = '规则描述太长.提示:一个规则里最多容纳 16 个配对的括号,运算符 "OR AND NOT" 同样在计算范围内.';
&#160;&#160;_diNoFoundFacts = '至少拥有一个"事实"';
&#160;&#160;_diNoFoundActives = '至少拥有一个"动作"';
&#160;&#160;_diRepeatBlock = '重复的分割符"=>"';
&#160;&#160;_diOrAndNotError = '空白的逻辑运算符.';

&#160;&#160;_diOddCharOfEnd = '多余的结束括号 ")"';
&#160;&#160;_diNoSYM1 = '并非有效的系统定义符';
&#160;&#160;_diPosError = '颠倒的"动作/事实"位置';
&#160;&#160;_diRuleError = '存在错误的规则';
&#160;&#160;_diAIfNeedEnd = '缺乏 #end-if 的判断语句';

[ 本帖最后由 卧龙先生 于 2010-11-23 13:58 编辑 ]
忽见天上一火链,好像玉皇要抽烟。
如果玉皇不抽烟,为何又是一火链。
回复

使用道具 举报

78

主题

13

精华

2万

积分

圣徒

耕战
2683
鹰币
182
天龙币
0
回帖
1957

二级皇家勋章一级嘉禾勋章二级帝国勋章十字军勋章雄鹰勋章活跃者使者勋章

附庸关系0
发表于 2010-11-23 22:58:00 | 显示全部楼层
恭喜哈!回去用几个错误样本测试下,争取不断完善,因为短时间内是无法全部列出来的…卧龙先生的编程水平果然强大…我还在为今年NOIP纠结呢,希望是省二等吧…反正省三等一定有
回复

使用道具 举报

78

主题

13

精华

2万

积分

圣徒

耕战
2683
鹰币
182
天龙币
0
回帖
1957

二级皇家勋章一级嘉禾勋章二级帝国勋章十字军勋章雄鹰勋章活跃者使者勋章

附庸关系0
发表于 2010-11-23 23:06:14 | 显示全部楼层
如果能知道帝国AI编译器的运作方式就好了…就这样吧,先用一会,大家发现有错误没查出可以专门在这反映。最后对卧龙先生致以衷心感谢,以及对之前自己不了解的鲁莽表示歉意。
回复

使用道具 举报

105

主题

9

精华

2万

积分

圣徒

耕战
4516
鹰币
2080
天龙币
0
回帖
1143

一级皇家勋章翔鹰建站十周年纪念章一级翔鹰勋章特级嘉禾勋章特级帝国勋章鹰之智者蛟龙勋章

附庸关系0
 楼主| 发表于 2010-11-24 00:35:49 | 显示全部楼层
多谢支持!如此和谐,有啥过意不去的!&#160;&#160;:)

找到错误时,编辑器输入焦点将转移到出错所在位置.用方向键可以快速找到.错误提示显示于右下边的小编辑器.

也许应该在出错的时候,将错误所在行用红色背景凸显一下.改天再看看!

该功能用 F5 调用,多用快捷键是个好习惯!

补充: 再次更新了一点点,版本依旧为 0.99i,如有需要,请重下一份 : &#160; &#160; "当错误被找到的时候,错误所在行将被置于编辑器正中央"

更新到此,大概告一段落.

[ 本帖最后由 卧龙先生 于 2010-11-24 10:35 编辑 ]
忽见天上一火链,好像玉皇要抽烟。
如果玉皇不抽烟,为何又是一火链。
回复

使用道具 举报

本版积分规则

排行榜|小黑屋|翔鹰帝国

GMT+8, 2024-5-17 08:20 , Processed in 0.184572 second(s), 214 queries , File On.

Powered by Hawk Studio  QS Security Corp.® Licensed

Copyright © 2001-2023, Hawkaoe.net All Rights Reserved

快速回复 返回顶部 返回列表