|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 - ^. z5 R% k% {. A$ F9 P4 w
' \/ I# k% @7 ~本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
6 ^# B# R( x$ p5 Q0 U以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.; \" [( h1 c" L2 `4 G ?* J4 O
swarm.SignatureNotFoundException L8 [% E9 ^0 `+ P( t/ a: r# `
at swarm.Selector.<init>(Selector.java:76)& P, {% b) c: |, g7 W- Z; n
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)5 e& c! W% E9 |* K
at ActionGroupDemo.main(ActionGroupDemo.java:67)
( @- T1 j! _8 F$ [# b$ l8 ]8 A2 D/ l$ V
/ x" P0 A9 a/ i" x
import swarm.objectbase.SwarmImpl;% l' B* b3 i% [" W* x* G& N
import swarm.objectbase.Swarm;" G3 f! v4 y4 }; B
import swarm.activity.ScheduleImpl;2 I D) n& ~. \+ T) H
import swarm.activity.Activity;0 C5 v3 j' ?) ]8 w- ?; t
import swarm.activity.ActionGroupImpl;
% i( M- D# [8 D, k) U6 D' Wimport swarm.collections.ListImpl;. B- I# f$ M7 e$ L: \
import swarm.defobj.Zone;
H, z5 L3 {; `4 L* x# ]( \import swarm.Globals;
% Q! P) W: |) }' q) }% wimport swarm.Selector;
9 j; u& a0 Y4 ^0 i Uimport swarm.activity.ActionGroup;
+ _# C# V/ z7 g% L$ zclass Agent {
' k4 z+ I( M2 _' | char id;4 J. C2 I! e$ @1 e
2 ~* q" j8 v, t3 E. G3 P Agent(char id) {" b _2 a. c7 l% S
this.id = id;! f, t9 S$ V) G
}
: R- H! u V7 F5 j: q( Z
3 T4 v% u4 W i" N G public void agentStep() {
4 D1 [8 {! A2 G( e System.out.println(id + ":" + Globals.env.getCurrentTime());
2 P+ F. D3 S6 Q+ y }+ G* d1 L$ T1 `/ }3 I( m8 Q( B% \* v
}
5 f# g/ K( Q( T4 R( e: E4 l: ^$ S2 ] g; S
public class ActionGroupDemo extends SwarmImpl {
" R+ N" k4 x/ p6 T1 a. a/ Y ScheduleImpl schedule;
1 M- D5 T$ U7 Q& }5 g% B) e ActionGroupImpl actionGroup;
) S0 t+ _( G% N1 s9 N* M$ w ListImpl list;) }! T* x5 S2 E# _( m
char Id = 'a';
6 C2 z4 n, x( G5 W" V8 b
) X) E) d5 Q$ C8 O* L0 X) m1 E ActionGroupDemo(Zone aZone) { N' Y$ l: t! X" n. B
super(aZone);
3 d6 z5 ~( q$ Z: X list = new ListImpl(aZone);
$ l/ g# r% q9 o swarmSetp();1 [& j9 \2 |3 r2 V2 I) @9 A
actionGroup = new ActionGroupImpl(aZone);# [- ^) T) U) f P: S5 `+ [8 ^' F# \
schedule = new ScheduleImpl(aZone);
6 r5 d+ g* S* Z, f$ `# | try {1 W- z* H x) U" u% ^5 `5 l
Selector agentSel = new Selector(Agent.class, "agentStep", false);
5 [4 F9 L6 a1 \1 \8 {0 C Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行* | _. |, N8 m4 q3 I3 H+ u2 f
5 E3 w' n) p |
actionGroup.createActionForEach$message(list, agentSel);- ?: I8 C# o$ z p" j4 i1 Z& T; o
actionGroup.createActionTo$message(this, swarmSel);+ X' @: L; l4 ^+ P
schedule.at$createAction(0, actionGroup);2 O5 [& S3 `/ S3 {# h& N# ^7 I' t
schedule.at$createAction(1, actionGroup);! L3 d1 N7 d: t$ k
schedule.at$createAction(2, actionGroup);9 P- I/ c+ Z, q( c/ ~7 j+ x
3 a# v2 f: r& j( }* u! k) h } catch (Exception e) {
1 U+ Z' h6 b, u' A6 W* ? ~9 ~ e.printStackTrace(System.err); M5 u% y! I7 d! ]* `* a# h
//System.out.println(e);0 N8 X: |) I5 G, O1 [% ^
System.exit(1);
" S% |4 [" S- Z# i. B# M }, ~2 }# `0 l- w6 w# Y1 P) W! ^# J+ `
: ^0 E, L' p0 c X7 g, d c* d3 b) D' L1 d
}
4 ^8 I: [" ?0 j( H$ u
4 M& B7 s7 D) y; f& S5 ` private void swarmSetp() {
/ h$ e8 `$ W1 [7 H list.addLast(new Agent(Id));
. ^4 F/ B9 w0 x Id++;' a* g" E) M5 s$ e4 R) O
}
$ v2 W1 x6 u$ ?* y w- S; ^' T7 o6 B, G. I/ i# J9 a
public Activity activateIn(Swarm context) {5 X% T9 ^% i8 G% z6 `
super.activateIn(context);
' `( r% c( m# v/ @ schedule.activateIn(this);
- y0 M/ U5 z; _ return getActivity();
4 H) T/ y$ o& e; f }
0 ~" `4 x B; M1 J+ h4 p5 v
4 B# X7 U+ A" e' R public static void main(String[] args) {
4 J6 l1 o0 p! _1 ?: s Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);) B v+ C( U |5 V
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);7 d. v- A$ c, P2 G" d
swarms.buildObjects();+ F( O$ q# F% s/ N" f# C$ L
swarms.buildActions();
/ h# f5 k, V- {5 w4 k swarms.activateIn(null).run();9 @9 |0 D, w/ X& t6 f- u2 i7 Z
}. L% J' R: r- \1 l( s
1 [ T/ ^0 w, o' @# w} |
|