|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
# I4 v" i. s& ?# O2 ^. D3 j" i0 K2 {5 x- x
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21 o9 D# _/ U* l0 K5 z
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.& g2 K j2 g" T" i; k. f2 M
swarm.SignatureNotFoundException. H$ m$ B7 k9 w4 C3 p. U
at swarm.Selector.<init>(Selector.java:76)& X; {6 K4 L4 C6 ~8 \/ @1 O
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
# i1 g* i! C! V2 ~ l5 C at ActionGroupDemo.main(ActionGroupDemo.java:67)
% l2 F( |4 Q2 w4 v' i: Q& W3 K/ Y' v e
' V$ c) [8 b; Q) a4 [7 ^import swarm.objectbase.SwarmImpl;+ {( K- \8 M6 x
import swarm.objectbase.Swarm;$ j* K$ q5 P/ a
import swarm.activity.ScheduleImpl;
" j0 t I" R; w7 e; T9 I# B/ eimport swarm.activity.Activity;1 z$ n9 p8 `! A% A
import swarm.activity.ActionGroupImpl;
A9 s) ?* o z6 Ximport swarm.collections.ListImpl;
" F( S) T0 z" P: X. nimport swarm.defobj.Zone; + g6 l$ Q+ ]1 d) P: Q$ q, r& f5 w
import swarm.Globals;
5 O/ F. |4 b$ {' u3 p5 Timport swarm.Selector;2 W [" ]! K1 g) @1 a7 }) E3 r6 x
import swarm.activity.ActionGroup; d9 J% T* |) r' ^
class Agent {& k$ g# \. o: o0 [
char id;7 _# ~/ F8 O/ H, w
w& u7 |& F5 w1 l% {) m
Agent(char id) {9 R5 F$ |3 i' ^6 O0 I6 {- }
this.id = id;6 J" T- |5 w# s3 j0 n3 d
}
6 m: @ R8 l& X V6 Y
! Q8 D+ ^$ ]% _7 Z; ~ public void agentStep() {4 l1 F- A! y. S$ r! K/ J i) M
System.out.println(id + ":" + Globals.env.getCurrentTime());
0 G* E; e# I8 k2 N, ~9 a }
7 H* o& p W: V1 J( |}
9 `3 P7 W0 W, h8 m. Y. j* G8 h8 |, t! N6 q" `
public class ActionGroupDemo extends SwarmImpl {
& `0 \* B1 O; W+ M- }& \# H3 d ScheduleImpl schedule;, o) Z4 M* E5 v! T$ C
ActionGroupImpl actionGroup;
: w+ `) ]# ~5 }9 v% ?+ v2 R' ?8 n) K ListImpl list;
6 x; E0 o9 K/ d char Id = 'a';
9 P `7 F- ^2 H
' k3 f$ X4 A. N# L" V f ActionGroupDemo(Zone aZone) {7 O' M7 t& |- J2 P5 _! D, k, I0 A7 O4 Y
super(aZone);
4 L6 `. L& O( j4 |6 d" K list = new ListImpl(aZone);
4 I2 g6 d) k0 f5 C; w+ ~ swarmSetp();
/ }+ s" \/ A3 S4 Q) j actionGroup = new ActionGroupImpl(aZone);3 b8 W. m# }2 m- ~4 B
schedule = new ScheduleImpl(aZone);
* u1 V# J& w! V9 @ try {
/ }7 _" F& |$ Z E2 |$ W Selector agentSel = new Selector(Agent.class, "agentStep", false);# f; Q0 c- r( \
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
! M( z% @ i% E ~- I
) U7 U' Q; {1 j9 v& e actionGroup.createActionForEach$message(list, agentSel);/ f! V+ `; w6 f8 ^1 w+ T! ]
actionGroup.createActionTo$message(this, swarmSel);% o* A# O" z6 l2 @: V) S
schedule.at$createAction(0, actionGroup);
& O* a3 F4 h) r! {9 z' z+ Y0 f+ X schedule.at$createAction(1, actionGroup);
) B( z3 }9 V& w3 @ schedule.at$createAction(2, actionGroup);! C; X8 F& I, V' t
+ W' R- ~2 x1 q# z+ q
} catch (Exception e) {- D+ C. h$ M7 b5 r6 }' M
e.printStackTrace(System.err);. L' d; L0 l7 ?& o) i9 J- _
//System.out.println(e);; x# x* y+ c0 i- e
System.exit(1);
4 B. Z- J: z6 H. M }# X5 u5 n B7 y" }
/ S, d: d6 t5 `# _+ y% `
( d, V* X/ Y( M% B: _( t/ I" u' @; V }/ | D' g5 L; S, n# b' U; \
& b. @3 i& z2 ~- K( u; E private void swarmSetp() {
6 I8 e/ f0 k0 K4 Y list.addLast(new Agent(Id));& Q- P* t* K" u1 I7 x
Id++;# X, U. B5 l& l2 x' Q
}& u A% o: K4 W0 Z$ @2 V- z5 i
' ~- B5 o: ]. F6 G- m public Activity activateIn(Swarm context) {8 F" J) S. V0 p2 z% U( Y7 M
super.activateIn(context);( g( X( i& A3 z% z0 L8 ~
schedule.activateIn(this);- Y: _, V* {0 Z7 p$ L# s2 D& Y) _
return getActivity();
: r; I0 ~, G( B$ V+ W }: R8 I! D/ E! G* T: c9 v
1 T0 y" ^& K o( F# c public static void main(String[] args) {' t- H* }" ^& O" g8 b9 E0 a
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
7 m5 q) h' K T* @ Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
; m; _/ K8 a4 C2 _# v1 R8 |: d swarms.buildObjects();" e9 K9 }9 H5 ? }8 l+ s3 t3 ~
swarms.buildActions();
0 Z4 J, D8 d: f) a$ a* {# f6 p swarms.activateIn(null).run();( Y* x- D0 g3 w; m
}
% k5 T3 i+ X! ?9 M. m2 p% s6 _5 L- r4 E. ?. M
} |
|