|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ( A3 B. x* v' L, k
6 Q% v$ x B0 Y9 A* k
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
0 d0 u9 Z: q% R2 p3 G1 A3 {1 G以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.9 Z7 ^& P3 c. J! t9 Q/ t0 w# p
swarm.SignatureNotFoundException" ^, @& t/ x) S# q
at swarm.Selector.<init>(Selector.java:76)5 H! L, W) ~# m! w8 n- h
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)& K' |8 i+ Q- F- A6 L1 _4 N
at ActionGroupDemo.main(ActionGroupDemo.java:67)) q% \/ C0 {( y) Z) ]" D
, Z% c: c, T5 d' ]- R
+ N2 C: n; [4 L7 G
import swarm.objectbase.SwarmImpl;
9 V2 b8 ~' ]5 W9 W3 b8 P J+ k! y; g( k9 ximport swarm.objectbase.Swarm;# g! n8 k- }: i% E! ?. o
import swarm.activity.ScheduleImpl;
! n4 [/ @8 F! o3 ?0 T7 Z. jimport swarm.activity.Activity;
3 f+ S# _, T B6 Aimport swarm.activity.ActionGroupImpl;
; M4 c8 ]4 V( h" ~2 Y1 Eimport swarm.collections.ListImpl;
4 x6 _" `$ @5 e1 y* K7 rimport swarm.defobj.Zone;
, d# d( M3 |1 d3 L' aimport swarm.Globals;
% `- T0 k2 _( C2 U% Yimport swarm.Selector;
$ V/ e2 w3 L3 z8 q+ Ximport swarm.activity.ActionGroup; & d& K2 v/ _( t* \9 i' y9 q7 ]
class Agent {
' {" Y1 G! ~( I' K3 D3 v0 o char id;
# q8 _* h# [3 D. N3 v$ b8 H" [9 Y0 K. U. X: w! b
Agent(char id) {
/ W5 h/ D6 K2 R; b4 J' a this.id = id;/ @/ t3 z6 v, k4 h
}9 E9 F& f$ D5 Q4 j
7 F: K y1 U# u7 n
public void agentStep() {! g! ]0 j; B) ` P
System.out.println(id + ":" + Globals.env.getCurrentTime());
0 p4 L% i# w& \8 j3 v, ~ }
8 w. Z$ r. M$ e}
3 K9 L: M: b ]* [( K8 _" G! ]0 r) ^4 Y) W
public class ActionGroupDemo extends SwarmImpl {
; w5 l) |, f" q- T! o4 Z ScheduleImpl schedule;( `# e2 y) [0 E L$ @' h8 H& [
ActionGroupImpl actionGroup;9 L' _, E3 ~: ^2 B. [
ListImpl list;. l9 ], K q- B K) t
char Id = 'a';* J% T; H9 \: _) k
5 V. G2 A! ]1 P ActionGroupDemo(Zone aZone) {
+ o- I4 W: C, `. J& u$ ?, m super(aZone);9 ~, f) u) W* J
list = new ListImpl(aZone);
; c" }+ g$ N5 J* q4 I5 G% O swarmSetp();
& M! U5 W) Y' u- F actionGroup = new ActionGroupImpl(aZone);
/ Z) r+ m) ^2 P. f6 D schedule = new ScheduleImpl(aZone);7 k. F* N u! Z) m/ X; K
try {. G8 s/ x* s4 S9 O3 }/ X1 {
Selector agentSel = new Selector(Agent.class, "agentStep", false);
/ N1 C F5 N( K, \" F( O1 g Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
6 x: f" M7 z+ r8 ?1 m- Z) P 1 ]* t5 C& y6 v. a/ m; Y
actionGroup.createActionForEach$message(list, agentSel);
0 E( \' Y. p# n5 \, e actionGroup.createActionTo$message(this, swarmSel);% H- y' i% h9 u7 s
schedule.at$createAction(0, actionGroup);! h% K8 k c4 C; a: I' \
schedule.at$createAction(1, actionGroup);( R/ m2 D0 V3 z; g5 M3 G7 e2 }3 ?
schedule.at$createAction(2, actionGroup);1 L' ^: B( K9 `; Q
0 a, W3 F, L% n8 [2 o
} catch (Exception e) {! d& ^# O: n( g \+ X9 t
e.printStackTrace(System.err);
. \ Z" Q1 F! K6 c //System.out.println(e);
8 m& H2 Z, ?4 F+ Q. y/ ?) M System.exit(1);$ x- |5 C# a/ D9 J' X0 [
}6 S' Z8 _7 l# Q, c0 d; V
: b& H! }1 g. q; F* V
7 r( q0 ^' w* _ n
}
6 F5 _( ^4 |* W9 w! @+ B+ R6 C2 o( j( h+ v8 ]
private void swarmSetp() {
: c1 @8 ]8 P, I4 q g% F list.addLast(new Agent(Id));
; k0 Y. |. H x: j0 N6 s Id++;
$ l3 q4 @& ^% c9 G$ N }
( c2 R/ q6 I# o- y2 b0 I: u) [$ T" l* u/ v
public Activity activateIn(Swarm context) {
* e: u! R9 b) E+ E7 h super.activateIn(context);5 q7 z H3 P( b7 B+ O$ O) U' q8 X
schedule.activateIn(this);
+ }# d9 ]+ A- x# z9 T% t7 d6 k return getActivity();# J f/ z/ k: n, W* M
}
3 }* A4 K& V4 p- s" H! E5 W
" u" }4 A' ?$ E public static void main(String[] args) {; w$ R$ \2 ?1 H. r# B v; z9 k/ z
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);: Y, {5 _8 U# I- F& P: _
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
8 G6 ?* k! T/ l' T swarms.buildObjects();# w! k6 h. P& |2 ~
swarms.buildActions();
$ Q9 D7 \$ w5 P* J9 {2 G swarms.activateIn(null).run();$ }) a% ]4 S$ d% ]
}: k7 P! |1 A* j( Y
5 W7 V" x+ L8 s) \} |
|