|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
/ A# c# X! g/ K5 e& `5 P6 i
' X- v* d, B( V9 v& E本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
' d! V; p" Y# K8 |+ M以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.7 H# H6 v: X" E2 a8 w
swarm.SignatureNotFoundException
$ s1 g ]* S1 u at swarm.Selector.<init>(Selector.java:76)7 u5 B1 s8 V4 ~1 z; W# z6 c- I
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
3 ]; H6 z8 C0 ?2 R at ActionGroupDemo.main(ActionGroupDemo.java:67)! f$ y N8 T3 @) p2 b
$ `/ u& W- T$ W7 P% |, L9 l' H6 ? I* z3 J& x I! ^
import swarm.objectbase.SwarmImpl;
. h' Q# K8 N1 A$ X9 `import swarm.objectbase.Swarm;
9 r" n+ z& o- J) l) Q I% [ y' Pimport swarm.activity.ScheduleImpl; ?6 A' t# d2 p2 T; b& Y
import swarm.activity.Activity;# E9 z/ c9 d5 N3 h M8 h
import swarm.activity.ActionGroupImpl;
/ [$ n: `' p8 p8 S+ m9 [0 gimport swarm.collections.ListImpl;
. l5 e4 a! F. W# V Jimport swarm.defobj.Zone;
1 d S7 P) b2 f: Y( z. V7 a( K* vimport swarm.Globals;
/ _# p' `; N0 S! K+ l2 Ximport swarm.Selector;
) u, q- c: U5 S- S5 _9 Vimport swarm.activity.ActionGroup; + |% ^% G* _6 K6 N {
class Agent {) H; o$ I2 K6 R1 S4 h4 _( k
char id;* @/ a& ]# m& Y5 m% {4 A* W
8 E, i7 `6 ^7 o" ^+ e2 { Agent(char id) {+ ^4 c; n$ e2 `0 z0 R0 d; y
this.id = id;; ~/ {$ Y% z) J! c
}0 Y" L8 C2 q0 S8 f5 z
& q+ u3 E0 M: L0 s public void agentStep() {+ `: j# ^3 R5 r) j
System.out.println(id + ":" + Globals.env.getCurrentTime());' B; k5 p) H4 b6 V0 @
}
3 @, J3 E& a' b6 ], [% I! @}
- ~( L( t7 W c) |# B
8 Y, _, \4 ~' W7 @' vpublic class ActionGroupDemo extends SwarmImpl {0 T. d! q: s8 m" {
ScheduleImpl schedule;
. S' W9 y& l8 v/ \; ^8 J/ k ActionGroupImpl actionGroup;& O1 Y+ i5 k' y8 x: v) g/ R
ListImpl list;
3 h4 m) J. Q2 {! o, t char Id = 'a';
: q5 B" |& p" V- D$ D u0 W- Y# X6 r! _1 O
ActionGroupDemo(Zone aZone) {
% O4 s/ ?$ J4 D' M" S super(aZone);
% p b6 O) g8 D8 g- e) l list = new ListImpl(aZone);
8 K7 E* T1 U: o/ S swarmSetp();
" y9 J% {8 p% [9 p3 G( F2 Z; L actionGroup = new ActionGroupImpl(aZone);
4 L" `7 ]: _& V9 u5 G schedule = new ScheduleImpl(aZone);2 K7 c( n3 _" D6 g6 H/ \/ X5 |& Q
try {0 M! C Q9 i# n/ \8 _
Selector agentSel = new Selector(Agent.class, "agentStep", false);
; P8 y3 v: I% b8 \$ T/ W Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
4 d( y5 p, l @. F% k' E( h7 y ; L$ H' W: i0 l7 N
actionGroup.createActionForEach$message(list, agentSel); c6 e( @& f% I$ M- z w/ b
actionGroup.createActionTo$message(this, swarmSel);1 O& h% p( d* b/ q2 y3 w
schedule.at$createAction(0, actionGroup);) M" }; {$ p' Y) G4 c/ O" ]* m
schedule.at$createAction(1, actionGroup);% i" }0 I3 G1 g, t9 B; t3 i( q
schedule.at$createAction(2, actionGroup);
* P0 S8 d* S' |/ L" K" ?) K$ o j8 f) ^$ k8 t5 H. ]. N
} catch (Exception e) {) p3 v% I# g, N' a
e.printStackTrace(System.err);0 c4 T* H. l& \. x5 i
//System.out.println(e);6 g: k. z8 l- d' W+ R2 P9 G6 K
System.exit(1);
. f2 }( e5 X( t: O }! x g2 i& S/ x. d; M
) m" a% E2 ^* y, Y5 X
) c, ]- H t# U; o! i) w6 V }3 e# ~% i* r9 \! I N+ N
' z1 }5 w! ]' b; Z' C private void swarmSetp() {, \" D' u; s$ u+ w1 Z
list.addLast(new Agent(Id));. O- k1 V& k$ \" h; @
Id++;: |0 o- `9 r3 \6 v/ V+ m* M
}2 B1 x7 a4 N/ i+ t$ v1 f' d
( |$ x) F7 p# x' e( c0 d public Activity activateIn(Swarm context) {$ l& W1 o( L. M% l( H; ]
super.activateIn(context);- B C6 `" [& c+ }( q
schedule.activateIn(this);
1 l3 @, d0 b, y return getActivity();8 v; g$ t' L) J! O# {. j% G: F
}
! f: O; v" R3 c7 n, I. y4 ~, i# n" G+ S1 p. a3 [) @3 Q
public static void main(String[] args) {
7 q. l" p; D ^. i$ U$ l$ C Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
# c, N: D/ k+ n, z Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);& M# \& Q7 q+ D" I/ N# R9 Y; a; b
swarms.buildObjects();
) A3 P `3 Y! t( _ swarms.buildActions();8 A2 m+ y b- E# J/ W4 u4 _
swarms.activateIn(null).run();
( c# R" n7 a1 _ }+ f! H# M9 w# h2 e+ j/ c3 \" d3 L
2 U2 K' N- x8 u5 \9 r K
} |
|