|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 5 x$ d. B- }! S- O0 G+ i
& o# G/ }1 b2 t2 l0 c
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
* Y& ^ N$ Z5 B& C! G& @' J以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
4 E4 x) Y P6 O* x- I! q1 vswarm.SignatureNotFoundException
% j5 d! |. Q1 N% S1 s- \6 y at swarm.Selector.<init>(Selector.java:76)5 s; X& d _4 w ~* K
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)8 r4 ` F: @4 z6 {- [
at ActionGroupDemo.main(ActionGroupDemo.java:67)
, {8 x `* C- J/ L' t! K; B; G' O' w2 M2 y
9 |; Q, F2 K* I1 o7 ?
import swarm.objectbase.SwarmImpl;/ ?% U @: F* ^
import swarm.objectbase.Swarm;. s( q) w3 M0 G1 n) B6 U
import swarm.activity.ScheduleImpl;% o* h l# `9 }9 y: C& F
import swarm.activity.Activity;) O5 }0 b* K( ~( ^0 |8 N8 u
import swarm.activity.ActionGroupImpl;
/ E4 ]- s4 n% W0 f/ I4 T5 vimport swarm.collections.ListImpl;1 z# a2 D/ m i5 U, m1 j L# c4 d
import swarm.defobj.Zone;
9 b% p2 X' D( z; ?4 A$ D$ f" q" |import swarm.Globals;( d/ _. b5 J4 W- u$ [
import swarm.Selector;, h' g$ u9 M$ [% K( p! A2 N
import swarm.activity.ActionGroup; 6 e. m# s5 l- z/ I9 B: a+ @
class Agent {
# e) U/ ?' J8 F7 A char id;
8 z" w* n$ M% q& Z
9 F$ \- {, S- ]' o Agent(char id) {: T! p- |+ K' o2 N- Q4 m
this.id = id;0 I% p: L) R# V$ B3 L" E. W5 t3 J
}% U2 b# z8 l G( Y3 d5 g, E
" r B6 I) Q' S" Y
public void agentStep() {# H& _, f9 X+ I6 j4 `/ x
System.out.println(id + ":" + Globals.env.getCurrentTime());
2 P3 S2 l. n7 I- x% W2 w" n5 [ }9 H9 I, Q6 Q: c4 _8 S4 r/ y6 D
}4 g/ C* o, ^5 {- U. l* q; Y0 d
1 f9 h* A; `2 B. u5 x
public class ActionGroupDemo extends SwarmImpl {
8 V$ O3 H* m B6 g. ~8 \, H ScheduleImpl schedule;
2 Q7 B' Y ^: Y8 M, Z* [% N ActionGroupImpl actionGroup;
* K( V3 C. H, o0 L* D* { ListImpl list;3 H/ m8 S% l2 j2 `
char Id = 'a';) j" S" ?( p4 O9 m
3 g1 @, J7 P) N; C3 d: x# ]8 h7 q0 n
ActionGroupDemo(Zone aZone) {- ~. z7 {$ n t1 E1 H$ I, N0 O5 P( t
super(aZone);
6 B8 I# y$ i: G- A4 O3 v list = new ListImpl(aZone);
9 s2 W6 I9 Q8 n: \4 I2 t/ J swarmSetp();
+ L8 C5 ?% p0 X0 U b; X8 Y, c g actionGroup = new ActionGroupImpl(aZone);9 g% e. I$ z* [* N
schedule = new ScheduleImpl(aZone);
% q O8 r& C$ s! F try {- o$ n) y# v+ v2 t5 t
Selector agentSel = new Selector(Agent.class, "agentStep", false);! ^# g1 j8 G9 n& f' C, ?+ W! D4 |
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
" ^ z* I5 ~# X4 D, Q: d! J5 d
# c( s. s' a, \; d# ` actionGroup.createActionForEach$message(list, agentSel);. ?4 A2 P) \( B/ `1 T+ \+ J {: T
actionGroup.createActionTo$message(this, swarmSel);9 W" g- x* [/ r! w- t: ]4 ^
schedule.at$createAction(0, actionGroup);
+ I4 {, ^( {& o3 R schedule.at$createAction(1, actionGroup);
$ f, w- H& a, T" I9 r T schedule.at$createAction(2, actionGroup);8 M7 J, ]. k. b0 `3 y
h- j4 E& ^4 L, L. I4 E& U
} catch (Exception e) {! C+ K! C& [' p8 j1 @) l- y
e.printStackTrace(System.err);$ A( \# B# G* u6 M5 s
//System.out.println(e);# ?% b2 N) \* n5 k; g
System.exit(1);+ \# Y+ W7 L- H# V
}( B% ^/ s5 I3 I9 ^- Y
/ n9 E* l, r& ^; _9 W" p
6 Q- E2 }$ V. i; C! o2 p3 G3 r7 [ }% v8 G+ U0 A2 ?5 r/ ~( ~
y8 I% H% m1 W+ c; p
private void swarmSetp() {% ^5 Z/ ?$ v. h* d! v4 p
list.addLast(new Agent(Id));
6 l, U0 @& {; f, [; M Id++;
; [* x) n5 T% y! C6 ^- T }
6 y4 X+ x. F2 q" u7 |9 A4 O! Y# Z- m. G: h
public Activity activateIn(Swarm context) {
+ K$ }0 A4 u2 s& j5 d* i super.activateIn(context);
) ^; c" ^ S { F, K* A schedule.activateIn(this);( G; e+ M3 A Q; j" p/ b0 [
return getActivity();
$ R7 M/ e0 ?5 d }2 @1 j6 N6 O. M) f) Q% L7 D& T& x
9 [) Z" O% Y& L5 c) U public static void main(String[] args) {
2 ^' Q% b" B( G% |; y Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);0 n: J5 d9 @* O, t( N: Q
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
$ m/ E6 Q( `4 y) \+ m& W swarms.buildObjects();
$ ^9 x0 f; W# l) Z0 ]( X swarms.buildActions();
( N& M- G8 O. a( o0 f2 F swarms.activateIn(null).run();* R" q8 Q. {( k
}
5 g4 H4 t; o+ }1 k9 K& ^9 a4 n1 u; B
2 C+ G: Z. T& d- [: l u; Y} |
|