|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
7 Y, u# k" j7 p u5 G1 G1 b" G0 ~/ k2 _4 z" D1 `
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
9 d5 f& w2 w' \: P x. c2 \! @以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.' p; i1 c, H0 ^4 t; Q
swarm.SignatureNotFoundException
$ b2 f$ b9 K, F5 [ at swarm.Selector.<init>(Selector.java:76)+ S/ }+ x6 m( f( M- r
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
3 v b: _% Y5 V6 ^7 y/ ]3 C- d at ActionGroupDemo.main(ActionGroupDemo.java:67)
: t) m& u$ d$ k% u* W6 K6 s$ ^( V
# e; u& ]. ]7 g% R; `: H7 t+ X# V" ?- s( m
import swarm.objectbase.SwarmImpl;& m3 ^3 G+ X* O% G
import swarm.objectbase.Swarm;
# H: Y, u& q2 ?' l! b0 m C* Timport swarm.activity.ScheduleImpl;
! Z( S1 [6 P' s$ timport swarm.activity.Activity;
! _ p% d+ ~6 b( W4 G7 v9 A- _import swarm.activity.ActionGroupImpl;
& X) {& ^* k, ximport swarm.collections.ListImpl;
8 r" V+ W5 X5 ~6 I z" uimport swarm.defobj.Zone;
8 _$ B8 `9 G; t8 e& m8 \+ Pimport swarm.Globals;2 }6 E6 Z1 i9 @0 I+ D
import swarm.Selector;5 L- E! R2 A0 \$ s$ N
import swarm.activity.ActionGroup;
) j( c9 C- a/ \8 e3 g' ~class Agent {
\. \ w4 P# k& D8 X5 B, \/ y char id;
$ _1 G# d' g- f0 s0 h7 ]+ e" n, d4 I3 t5 ?) n) Y" E: x4 {: |
Agent(char id) {
# a5 A( I8 K- E8 d- B this.id = id;( I$ j/ |* l2 O& W) o
}6 S+ I( |0 z& Q& n
+ F' C* {0 k! T public void agentStep() {' o. p! c( R# Y$ d- ]
System.out.println(id + ":" + Globals.env.getCurrentTime());. N& c# D. v! c o# {) t" ^
}
* ~ W. Z+ y2 x& l}
3 Y- J7 R | G( o' v% v: c- S1 }( B9 W @# {0 _$ T
public class ActionGroupDemo extends SwarmImpl {
8 x Z, P8 t' g# x4 u$ E# g* d ScheduleImpl schedule;
% B4 f: U2 w7 d ActionGroupImpl actionGroup;' D% e. c p0 }5 r2 E, c" u5 B
ListImpl list;
- T) S ~0 p. {# [/ M4 y char Id = 'a';
' L2 r1 C! A: i- q4 D' a K/ B, T) c% h& h& x2 [3 N; [
ActionGroupDemo(Zone aZone) {
6 e; K: \( |! l" F: a2 J V5 _ super(aZone);
3 o3 Z: e3 Y- C8 H$ l' R/ L4 `: R% \ list = new ListImpl(aZone);
. o2 V- u% @3 v8 D) G& i5 K$ ^' } swarmSetp();, \$ Y5 o8 ?% S0 L5 ~# P
actionGroup = new ActionGroupImpl(aZone);
c M# m) F/ c1 j T# @ schedule = new ScheduleImpl(aZone);
5 ^ ]8 r) v% D: Y' ]6 \0 ] try {1 p; a% t' o+ K B3 ]$ v
Selector agentSel = new Selector(Agent.class, "agentStep", false);
) a' G9 p" E! j( G Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
3 V. Z0 q) t, C% J! z / Y3 ~2 o5 Z1 W3 D% H B
actionGroup.createActionForEach$message(list, agentSel);
9 I9 `4 G) D" w& q! Q actionGroup.createActionTo$message(this, swarmSel);" A9 {; x- s2 G& f* G# O
schedule.at$createAction(0, actionGroup);- z( q6 D& p n3 C& s
schedule.at$createAction(1, actionGroup);# H7 q6 c8 ^8 a+ [9 `. j$ q: U
schedule.at$createAction(2, actionGroup);
9 b' b0 \) r% b# B6 |5 r- }3 w
9 n P; N0 ]- I% R } catch (Exception e) {
; Z, G$ a5 ]" U e.printStackTrace(System.err);# y0 M K+ V0 l6 m0 a8 m( W
//System.out.println(e);
9 a6 M% q1 T/ n& P, F System.exit(1);& o2 F4 T- a8 f' {) C
}
6 J# [; D0 _" I3 B. P) j( F9 S* G# V' I5 v/ B% z p
0 O! H3 `* r0 [
}
5 ~$ m0 C Z% A7 i1 ~! \3 ^9 R6 f: P& y0 z
private void swarmSetp() {& ?/ S0 v1 W5 n1 V- U0 L+ |% X
list.addLast(new Agent(Id));( t! {% F! `, l& F
Id++;
$ Y1 }. G. A3 o }
$ x+ L$ ^! ~+ q/ ]7 N. {& o9 W
M3 W( w8 C3 d" _# w# a. r public Activity activateIn(Swarm context) {
, n5 [/ [" {' q3 H; B; l/ [ super.activateIn(context);
( w: P) A( q" I1 r$ \; a2 Q$ N0 l schedule.activateIn(this);; d8 L2 Y* x! e; k; }
return getActivity();# T9 [4 N8 z& p% U6 g1 g0 m
}
2 a! f; U& ~0 v- p. L5 D2 t8 ^) t
) k( J! p! _0 Z4 [2 \, n6 p9 D public static void main(String[] args) {
* k ]5 P G6 w+ V8 u3 C3 N Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
0 ]4 a: }" s6 ? Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
0 a' T1 N) h" S! o. C1 [4 C swarms.buildObjects();. A4 n# {0 l9 l" n
swarms.buildActions();. F- ?: Z3 }& j4 H& `
swarms.activateIn(null).run();+ I3 q B7 e8 C8 Y
}( s: E. o3 ]1 b; J
6 u4 D% P! M0 v0 L! P# Y} |
|