翔鹰帝国网|帝国时代论坛|帝国时代系列|神话时代
 找回密码
 注册翔鹰会员(昵称)
搜索
查看: 2543|回复: 5

[交流] 概念问题

 关闭 [复制链接]

7

主题

0

精华

5257

积分

圣徒

耕战
1048
鹰币
62
天龙币
0
回帖
51

蛟龙勋章

附庸关系0
发表于 2004-12-18 12:46:36 | 显示全部楼层 |阅读模式
有点晕呼……
大概的意思就是判断是否需要战船
需要     (goal boat must-need-boat)
不需要  (goal boat no-need-boat)
如果需要战船则考虑有多少码头,2个码头以上则必须有10艘以上战船,如果没有2个码头则不考虑战船数量
不会写了[em06]
[此贴子已经被作者于2004-12-18 0:54:23编辑过]

回复

使用道具 举报

7

主题

0

精华

5257

积分

圣徒

耕战
1048
鹰币
62
天龙币
0
回帖
51

蛟龙勋章

附庸关系0
 楼主| 发表于 2004-12-18 01:01:20 | 显示全部楼层
写了个大概比较繁琐,大家看看还能不能简化   (or
  (and
   (goal boat must-need-boat)
   (or
    (and (building-type-count dock >= 2) (warboat-count > 10) )
    (building-type-count dock < 2)
   )
  )
   (goal boat no-need-boat)
)
回复

使用道具 举报

17

主题

1

精华

532

积分

圣徒

耕战
-2
鹰币
6
天龙币
0
回帖
145

特级翔鹰勋章蛟龙勋章

附庸关系0
发表于 2004-12-20 00:56:21 | 显示全部楼层
意思是说如果有两码头但还没10艘船就训练战船吗?  那是这样:  (defrule
(building-type-count-total dock >= 2)
(unit-type-count-total galley < 10)   (can-train galley)
=>
  (train galley)
)
******************************** AI作品: AzKing、BooM、BooM II 战役作品:江湖之剑神传 (正在制作中) ********************************
回复

使用道具 举报

105

主题

9

精华

2万

积分

圣徒

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

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

附庸关系0
发表于 2004-12-19 17:13:58 | 显示全部楼层
SonicX 兄的意思真不好解,呵呵。是不是这样:
(defrule
  (building-type-count-total dock >2)

   (unit-type-count-total galley < 10)
   (can-train galley)
=>
  (train galley)
)
(defrule
  (building-type-count-total dock <2)
  (can-train galley)
=>
  (train galley)
)

[此贴子已经被作者于2004-12-19 17:20:43编辑过]

忽见天上一火链,好像玉皇要抽烟。
如果玉皇不抽烟,为何又是一火链。
回复

使用道具 举报

7

主题

0

精华

5257

积分

圣徒

耕战
1048
鹰币
62
天龙币
0
回帖
51

蛟龙勋章

附庸关系0
 楼主| 发表于 2004-12-19 22:18:41 | 显示全部楼层
我没说清楚,应该是个优先级问题
首先判断是否需要海战,这个已经可以了
需要海战     (goal boat must-need-boat)
不需要  (goal boat no-need-boat)
然后在生产单位时先判断码头数量,如果码头大于2个而且战船少于10艘则停止生产其他部队,优先建造船支,如果码头小于2则可以生产其他部队
下面是我写的代码(部分)

(defconst boat 10)
(defconst boat-num 11)
(defconst must-need-boat 1)
(defconst no-need-boat 2)
(defconst have-more-boat 3)
(defconst have-little-boat 4)
……
……
;判断部分
(defrule
(goal boat must-need-boat)
(not (goal boat-num have-more-boat))
(or
  (and (building-type-count dock >= 2) (warboat-count >= 10) )
  (building-type-count dock < 2)
)
=>
(set-goal boat-num have-more-boat)  ;已有战船或无码头建造战船
)
(defrule
(goal boat must-need-boat)
(goal boat-num have-more-boat)
(and (building-type-count dock >= 2) (warboat-count < 10) )
=>
(set-goal boat-num have-little-boat)  ;没有战船

……
……
;生产骑兵
(defrule
(or (goal boat-num have-more-boat) (goal boat no-need-boat) )
(unit-type-count-total knight-line < 20)
(can-train knight-line)
=>
(train knight-line)
)

主要是想把这些合在一行,目前是条件太多报错,呵呵
[此贴子已经被作者于2004-12-19 22:28:33编辑过]

回复

使用道具 举报

17

主题

1

精华

532

积分

圣徒

耕战
-2
鹰币
6
天龙币
0
回帖
145

特级翔鹰勋章蛟龙勋章

附庸关系0
发表于 2004-12-20 12:14:58 | 显示全部楼层
哦, 明白了, 那不如分两步:  (defrule
(unit-type-count-total galley >= 10)  =>
(set-goal boat-num have-more-boat))  (defrule
(building-type-count-total dock < 2)
=>
(set-goal boat no-need-boat))  (defrule
(building-type-count-total dock >= 2)
=>
(set-goal boat must-need-boat))  (defrule
(goal boat must-need-boat)
(goal boat-num have-more-boat)
(building-type-count dock >= 2)   (warboat-count < 10)   =>
(set-goal boat-num have-little-boat)
******************************** AI作品: AzKing、BooM、BooM II 战役作品:江湖之剑神传 (正在制作中) ********************************
回复

使用道具 举报

本版积分规则

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

GMT+8, 2024-11-16 05:42 , Processed in 0.122480 second(s), 76 queries , File On.

Powered by Hawk Studio  QS Security Corp.® Licensed

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

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