|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
# n6 h) ` l5 d5 _6 [
6 D, n( ?( d- F* Z; r" K本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21( X( O3 }/ A+ I5 [0 F3 U5 X' F# e2 r& C
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.% U# y: P# V# G/ a- ]
swarm.SignatureNotFoundException) A3 ^1 X( u! e0 d3 l, w+ p( {& F
at swarm.Selector.<init>(Selector.java:76)* K* q' ^% C, ?& ?
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)$ W0 H8 V u5 W" A
at ActionGroupDemo.main(ActionGroupDemo.java:67)& W0 q F: C7 T4 `
& E- w' |. ]7 ^& h/ A
/ h# S8 Z4 d3 |; B3 M* T$ M( i; fimport swarm.objectbase.SwarmImpl;
4 p3 E# D4 A; v0 E+ G* S( simport swarm.objectbase.Swarm;! O2 D5 M* |% d# Z5 H; B9 [" K f% R
import swarm.activity.ScheduleImpl;8 O2 w9 N3 e+ e
import swarm.activity.Activity;
, h5 Y6 a& C8 T) l6 Oimport swarm.activity.ActionGroupImpl;
+ _7 q) y/ B" qimport swarm.collections.ListImpl;7 ~1 V+ L) G' ?
import swarm.defobj.Zone; . [" `& V4 ] Q) ^1 e
import swarm.Globals;+ T; p# o1 T% q; R, z, l
import swarm.Selector;
3 B/ `* Z ^! j' J. o R0 Himport swarm.activity.ActionGroup;
# W y! p" y+ h9 Q7 _ |5 u1 I, iclass Agent {2 l8 I3 t8 z- A& ]+ A
char id;
7 t# \$ W5 A! ?8 U+ Q" n* K2 }( {/ T5 ]' q( }* ]% ]
Agent(char id) {' k" L2 ?6 ~. G2 F# w4 z: m
this.id = id;- g% [( l" d' ?( D3 V3 u
}
8 X3 d4 r$ P: B5 o
* E$ a4 O b& S public void agentStep() {
2 \" L5 ]3 ~- r System.out.println(id + ":" + Globals.env.getCurrentTime());
1 q+ q5 S9 ~, s0 P1 J }
/ ?8 V. Q! ]3 f! N}
8 {, a- X) w Y. O0 c& R& \) V9 N
! Z6 P5 O: e) D* U2 z5 Spublic class ActionGroupDemo extends SwarmImpl {8 k- ^3 e% h6 }
ScheduleImpl schedule;
$ u6 S$ s( Z- m' K ActionGroupImpl actionGroup;: R1 s0 M l) U
ListImpl list;
d8 N( R1 T& k7 |$ ^) J char Id = 'a';6 O% b: u+ q$ u
" _; L g& L& I$ X4 {9 O8 z( g2 Z
ActionGroupDemo(Zone aZone) {% b/ F2 G6 f2 L6 D8 D# h! e/ Y% x
super(aZone);
# M# ~3 d& A! D w+ H3 Y/ H4 ~( a list = new ListImpl(aZone);6 @- Y" E; J7 l9 s% M! P1 v
swarmSetp();2 ~7 [ x; h( Q s1 O2 S* a
actionGroup = new ActionGroupImpl(aZone);: F, r3 I2 {; T6 ^2 r2 Y; `: v! l
schedule = new ScheduleImpl(aZone);2 F! o! {2 Q& ]1 q
try {
1 k$ r3 ` ^0 E* n Selector agentSel = new Selector(Agent.class, "agentStep", false);
8 H- q: k) b' x3 k Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行5 c: A4 j% Q2 v# |5 H W; z7 {
7 ? e3 I* J$ Y3 ? y actionGroup.createActionForEach$message(list, agentSel);) h$ Q4 p$ P/ A8 D
actionGroup.createActionTo$message(this, swarmSel);7 l% i& A! a7 G, i- `1 }4 `6 H
schedule.at$createAction(0, actionGroup);* a: l9 M8 Y5 p' L7 R
schedule.at$createAction(1, actionGroup);
+ x# `: T" w5 U2 |: e1 I9 X schedule.at$createAction(2, actionGroup);* |1 N! B" R9 s5 L3 V! d
5 y- `" L; P, K" I } catch (Exception e) {9 w. a6 I' j8 d0 b! X" z& x; @0 L
e.printStackTrace(System.err);7 C1 k% ~! ?6 N6 A8 {4 ] A
//System.out.println(e);' o. K1 P- ?& u$ j
System.exit(1);
& A8 N! P) @4 b" T8 I }
- q9 X; u6 l5 {8 ]' P$ c' l, X: E1 V. v) J3 x$ Q E V2 w" p/ _; L: n% V0 ~" t
6 i# K9 ]& H9 v- b, X- a4 O }1 B- V& q0 V4 v+ r9 \* m( B$ A
4 p6 N* Q u' y. Z3 l( k) t
private void swarmSetp() {* _( {( r! C; h# C
list.addLast(new Agent(Id));
4 P: A5 Q1 k$ n: B# \4 }+ B Id++;: z6 L, E: f& q' E5 S, E% Y
}
2 K9 E: a6 [ n
" F$ n, Q/ L U9 a% I public Activity activateIn(Swarm context) {
# Y k/ S) s# H) s- r1 E& d super.activateIn(context);
8 y/ n- s# f. u7 n7 g6 r schedule.activateIn(this);
7 {1 G v/ Z& R1 I3 K: v: ~- S$ z return getActivity();
# a5 b3 ~4 @3 u3 J8 C) p/ _* T! }, _& m. ^ }
# m% `( ^' e e$ _: P
3 r) d. J q2 t7 k3 ~9 h* p public static void main(String[] args) {
* y, R3 {1 x- _+ n Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);4 `9 Z' i" h: t" T4 [# M N& t& H
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);9 v; m# f- a- P3 G ^
swarms.buildObjects();- u7 P! U0 s7 e- p [$ y
swarms.buildActions();
$ ]! k5 W# P4 o3 O0 K" q0 C swarms.activateIn(null).run();
+ e+ r" `/ k* a; ~ I; d+ r% P' L }+ p/ P" l9 N/ P' \ A- X; G
% U. d4 b8 r- L) l; I6 M$ @} |
|