|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
8 P+ Q6 O- b3 J n) A
+ @7 ] ?2 Q( Z( n本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21; b# x( e. E& a/ c( _1 T
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
- G! W2 N" _- s( Vswarm.SignatureNotFoundException
% h) g3 S1 g' s6 C at swarm.Selector.<init>(Selector.java:76)* {& Y7 G9 n* o% c
at ActionGroupDemo.<init>(ActionGroupDemo.java:37); o& F' H/ B8 E
at ActionGroupDemo.main(ActionGroupDemo.java:67)8 l- R) @, p/ j8 O3 A' T8 J9 e
' K! t% G( o1 w8 x4 i- k( V! s# G3 [, p& u7 J4 Z' ^4 K. v
import swarm.objectbase.SwarmImpl;
: N: A' f- Z# G5 E9 Y8 ]8 x3 gimport swarm.objectbase.Swarm;
4 W2 `% \/ c/ eimport swarm.activity.ScheduleImpl;# F) j8 U2 q: q( Y
import swarm.activity.Activity;
$ I. s" o1 X# uimport swarm.activity.ActionGroupImpl;
) n9 Y4 j) X( y( p* Q7 L' ^import swarm.collections.ListImpl;
" v9 r% B& F- n* F |( `3 U: eimport swarm.defobj.Zone;
; d' _" z& S! Jimport swarm.Globals;
~, `7 M8 A% L/ Zimport swarm.Selector;
( R7 k' W8 i4 ? gimport swarm.activity.ActionGroup; : `/ o0 t; ]- O; U
class Agent {" M: @/ p+ b2 x$ d" s" F
char id;
% v9 Y9 t! m2 Y9 y [8 {
' z* W8 [- F4 |/ N1 q3 S e4 W v3 x Agent(char id) {7 ~- }" I3 F3 d3 S" z
this.id = id;
{2 b5 S, o7 c2 I+ s( ? }
b X9 n/ _; C: V5 g& o6 H R) j1 j2 E# G, r* u: _# |8 i
public void agentStep() {* I& M- t( P. u& C! g
System.out.println(id + ":" + Globals.env.getCurrentTime());; y( x( h# Y5 i
}
# z8 c# g3 l4 e) h1 ]}6 m' v. n6 a* y. b
% D5 k* w5 L# n1 N; @2 x) \
public class ActionGroupDemo extends SwarmImpl {
c( ]% R& W- L' i( ^7 R ScheduleImpl schedule;; N& y+ _. e% I1 s: v
ActionGroupImpl actionGroup;
- d' T2 n. q$ F: ]1 a$ i" `3 K4 J' F1 H ListImpl list;5 d3 a" o; {* S X" v& m) A7 {6 m4 H
char Id = 'a';) q; d6 c9 B U X3 {
! H/ ]0 `0 ^1 G- m1 j9 a7 H. q0 U ActionGroupDemo(Zone aZone) {
3 d5 i5 D \+ n2 O) W9 R. B super(aZone);
9 _7 B4 Y g c2 B3 Z8 W list = new ListImpl(aZone);
t2 O9 w1 y9 m swarmSetp();# \& O1 U \% o! n# d. z
actionGroup = new ActionGroupImpl(aZone);
% d. {1 U8 v: K, P5 q% H5 u- z8 M schedule = new ScheduleImpl(aZone);
8 z2 c+ M" G8 R try {
* j" q v0 s! I$ _6 s4 | Selector agentSel = new Selector(Agent.class, "agentStep", false);
6 W% \+ h# T' U! W$ T* o' F! r' X# K+ ~ Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
( F. h6 {+ D& P5 p- k3 C' l6 W
$ J8 Y. l" y9 I. P/ b$ B actionGroup.createActionForEach$message(list, agentSel);# I- K# r& j3 A" g0 L; D
actionGroup.createActionTo$message(this, swarmSel);' d' Z! h" S7 b) Z5 L0 Q
schedule.at$createAction(0, actionGroup);
2 C. v- j' `: F+ S' e" [ schedule.at$createAction(1, actionGroup);
( m2 f+ ^: M# f* l. ], ]$ Q+ p7 \ schedule.at$createAction(2, actionGroup);
& r1 o$ N7 T4 Y" j3 @; l0 n1 Y! A3 ]: `& K
} catch (Exception e) {
% F7 j x9 v$ X, n e.printStackTrace(System.err);
. @6 ~ w( u6 _& l# y' g! r6 d3 j6 s //System.out.println(e);
1 k* e' C1 M* f6 L System.exit(1);
5 S0 z5 k$ B, g0 d7 J6 ?: d }, b V8 r9 l: d2 Z" P+ R5 A
- ?( F% T$ S- G0 C. e, m
, C a; D* H6 v/ a0 w3 t# f }& h4 D+ V6 K" ^9 U0 D
+ P5 E2 M* @1 p: `6 ` private void swarmSetp() {0 c7 e9 ~4 `2 I7 \
list.addLast(new Agent(Id));6 e( p* J1 b. |: f
Id++;
- b7 n5 d. f G) M8 x2 B }
' c, G9 L% ~) ^% `
1 r. X ]0 J# o, \0 k public Activity activateIn(Swarm context) {
" i- |5 Z! b, k/ `$ i, r0 Z5 w super.activateIn(context);2 W) O/ c" e( }) S
schedule.activateIn(this);1 }. d8 v8 {. o, P ?0 y6 R5 h
return getActivity(); ]% T5 x4 J% p/ \( c3 X1 F9 `' j
}8 K* d5 _4 A' r0 l9 R% Z9 b0 W- Q
' B7 e; k6 v* |5 H, P$ V8 ]4 z# z public static void main(String[] args) {
9 ]" _! {2 h1 D5 M4 \/ i( _; d Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
' ~. N& ?2 Q- x* D) ]! m* R) A Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);7 ~. y. |, q; |. ~( f0 L
swarms.buildObjects();, [, Z5 W7 k4 r
swarms.buildActions();
/ u" B+ J/ X& N. m swarms.activateIn(null).run();; p( e5 f) P ^- E6 R2 q" P9 q1 `; Q& b
}
' }, l. X: J! c; M6 O2 h' S+ D3 `: y7 h* p6 U1 x! W
} |
|