|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 e3 i4 J( z7 n* Y+ z D# h8 O
# E& h% X& r2 r9 `* M* L
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
* @% ?: }- H2 p4 N7 h: ~以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.# N+ z+ k, b. \: R
swarm.SignatureNotFoundException/ Z4 b0 B% l; D6 E
at swarm.Selector.<init>(Selector.java:76) i7 _$ m7 s% W6 |' K- j4 n9 `
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)& @" W: a4 y/ I+ B; n9 N% [- [7 A$ S
at ActionGroupDemo.main(ActionGroupDemo.java:67) [& W. E4 q. }! P% ^/ Z7 c. x
d- M2 k' b$ Z
1 n4 E1 v! N: limport swarm.objectbase.SwarmImpl;$ g& Y/ t, D' [0 T7 u# O
import swarm.objectbase.Swarm;
* z4 Y$ w" A' a- [& W, J! zimport swarm.activity.ScheduleImpl;5 e5 r% ?0 b' ~8 Y; J# i* { Y5 ]
import swarm.activity.Activity;( P, ` u0 K3 W
import swarm.activity.ActionGroupImpl;/ h8 n" W! m4 r; S
import swarm.collections.ListImpl;
# ?2 o0 `6 ~- oimport swarm.defobj.Zone; ' y+ A" p: G7 V
import swarm.Globals;
3 v/ [3 f6 E9 L1 y# `import swarm.Selector;
- M f1 P" A/ ?1 P; Simport swarm.activity.ActionGroup; ! C9 e/ Y; k3 Z% E! ? Y
class Agent {$ ?, |8 y7 e7 T; U2 A0 y
char id;6 f9 t- {$ [9 ?, x$ ]3 E
: ~/ I4 Y+ ~+ |5 H* z- Z
Agent(char id) {
6 I' n* F! b$ B& S( V0 P6 [ this.id = id;6 F: v2 j8 C8 |. `( @0 }6 c
}
' |; _( V$ S* s. `1 D( z; c
+ U. |" H1 h' B4 g, D1 O8 D' l public void agentStep() { h" o- a- a( v2 s9 n5 L0 B
System.out.println(id + ":" + Globals.env.getCurrentTime());1 B: |+ n1 O+ _7 J" U" j% H. a
}( j: \# u& x8 q
}
2 d' r, G/ T: H2 r9 l& A
2 M$ [7 T; v, ^. T% x3 Rpublic class ActionGroupDemo extends SwarmImpl {
+ C X4 q2 H; j! S2 H+ M8 G. M ScheduleImpl schedule;
, L0 ` T" Y L# f5 ~2 z+ ? ActionGroupImpl actionGroup;; r! f% A7 Y3 j: ~; e
ListImpl list;
6 l% n+ \" \5 Q Y$ F: R# W char Id = 'a';
) m2 v% R4 J. l0 ]1 M9 q+ B
4 n1 Z8 ` v; G6 c6 y ActionGroupDemo(Zone aZone) {8 F9 |6 J1 Q: n7 F% { j( a1 x
super(aZone);' o7 H" P3 `* T0 Q
list = new ListImpl(aZone);
% t" o: R- A; c# z- z$ L9 p; x swarmSetp();! H# ]8 y, x( v/ t; d$ i/ k
actionGroup = new ActionGroupImpl(aZone);4 [1 B/ c6 G* a( I( s+ A3 M
schedule = new ScheduleImpl(aZone);
( x6 E8 _: ]; e6 E1 f+ m try {
0 c3 n6 O- N0 t$ W' t6 [ Selector agentSel = new Selector(Agent.class, "agentStep", false);; x- R0 w1 E1 j& c5 p0 m' C
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行4 C8 S1 i# t9 o+ m9 o: I: ^
, t6 N2 Q$ m/ C c9 u3 H f
actionGroup.createActionForEach$message(list, agentSel);
( \3 O1 |% f8 K actionGroup.createActionTo$message(this, swarmSel);
/ R6 j- s$ X4 q q3 E$ K7 d ? schedule.at$createAction(0, actionGroup);
$ G7 P4 o9 V- O/ z2 C schedule.at$createAction(1, actionGroup);
9 J8 P: t7 N: F* ^8 l8 j) q4 [ schedule.at$createAction(2, actionGroup);: F% B* `6 b/ C5 `: ~ |. g4 J& J
% U, X, v+ u# m8 q- S } catch (Exception e) {. H) ~/ ?" o6 k' y4 w, A. ~
e.printStackTrace(System.err);
' g* K( s6 O! W5 [ //System.out.println(e);
6 Z' I7 a% i' k. X, C! Z6 P) ? System.exit(1);. G: t9 Z% U0 Z/ \; h' }$ R
}
( F o" {! K% p. R( t/ e( I k. t! W5 \( e0 y& l/ K3 ^
, J/ Q# `: c7 r# ]0 d& N4 Q2 a }
* |# l4 B+ o. D' i# m, [; G5 H- k* g+ N+ |9 L
private void swarmSetp() {
1 p$ h! x5 x- h2 p: z" J j list.addLast(new Agent(Id));
* T+ h# H) z7 r/ e0 x1 E Id++;
" |6 T6 D) ]9 |+ \- s/ ~( ?4 D6 O }
: Q6 v3 `3 W3 g/ k8 X( i- T" T$ J0 d: p% l9 O7 j6 Y
public Activity activateIn(Swarm context) {1 Y) F! B$ O" ]9 x1 D
super.activateIn(context);6 {- n% V% q4 y3 |: k
schedule.activateIn(this);( r; d0 F5 t, Y! A6 {
return getActivity();8 C% l1 N) v/ O. f6 n4 v1 ^
}
; N3 S. [, v& ~% i, W7 R8 S0 t6 O# b, m3 P! I
public static void main(String[] args) {
/ `+ l) k7 A& ?& A7 g Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
9 ~; o0 b; J Q! [) w! R Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);0 K7 p$ D& ?& J
swarms.buildObjects();
6 J3 l9 V- |1 G swarms.buildActions();# T8 m. x3 k( r2 @5 t2 l
swarms.activateIn(null).run();
, a& n8 b) s1 F9 F2 l }3 a8 z/ B+ \& E- v4 p0 ^1 F
6 M' j/ m+ C0 r% b7 J4 ?* q} |
|