|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
8 Q. J. Z8 D) F, h2 r p% G
& q) `$ e9 o0 g& S0 X0 \0 \9 H本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update218 a1 O& w+ ~; m
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.3 M5 w6 s% @0 C2 M
swarm.SignatureNotFoundException
; @, c7 H, |9 C+ K+ [! a8 `! K5 m at swarm.Selector.<init>(Selector.java:76)
H5 u" G% X, v, O at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
* n' ]# T) ~/ _! N at ActionGroupDemo.main(ActionGroupDemo.java:67)
5 h @$ I5 n5 ]6 ~( z: Y) P' x
/ e1 p. X+ ]/ K, i6 O% K$ E
/ G$ G" f- ?& V: Qimport swarm.objectbase.SwarmImpl;
6 p) [, P8 y6 r3 g2 ]import swarm.objectbase.Swarm;
: Y- J/ B, P" i1 H* i+ Himport swarm.activity.ScheduleImpl;6 F" g. ~2 U$ k0 @$ ?* n9 }" l' V# z
import swarm.activity.Activity;4 W6 Z% R; L; a) d+ O5 J
import swarm.activity.ActionGroupImpl;
6 L2 B5 i6 }& J$ u" v# Eimport swarm.collections.ListImpl;
7 x" k3 s2 E8 r. kimport swarm.defobj.Zone; ) G" F! y0 u5 d( @6 M R5 M
import swarm.Globals;
- D5 \/ z" N3 c4 @- Z/ timport swarm.Selector;
: @+ E* z! }" i. o/ f$ a) ~* [/ a+ @import swarm.activity.ActionGroup; + R( o; e9 X1 P6 k
class Agent {
) q0 p2 T# \5 G" _, F" T3 t4 S. L char id;
) b0 a9 t8 G; j
3 Y9 l0 X5 g# m8 g$ X; G. @ Agent(char id) {
M/ A* B! L* ]/ f this.id = id;8 ~$ y! X4 s. k3 R+ g$ D3 \6 g: C
}1 @ D; c: e/ S" c6 q
: t7 y; S2 h# ~3 k) D5 Q
public void agentStep() {2 Q; F8 t+ @" E, D* w
System.out.println(id + ":" + Globals.env.getCurrentTime());. R) h8 J$ U; B) s" k) D
}
/ d" b& Z5 T1 ~+ `}3 ~* V5 P5 ~4 \1 m! [0 w- u5 E- o
3 M' t5 }* M0 c& \3 jpublic class ActionGroupDemo extends SwarmImpl {; Q1 D* A) ~4 F' j/ A
ScheduleImpl schedule;: ?" @9 U# i; U/ ~
ActionGroupImpl actionGroup;* i* e `( ?6 |: l3 V+ A
ListImpl list;+ I/ y+ f# Q! I
char Id = 'a';$ V1 O9 a/ [0 ^7 r ~0 O; b# T
) Z! m1 o; Z+ B8 H/ v ActionGroupDemo(Zone aZone) {4 [5 ]3 c6 ~+ S- n$ O1 B+ g; A3 O
super(aZone);2 ~9 q3 w& _" f6 i7 ~( w) i+ Y
list = new ListImpl(aZone);
1 v5 E6 A. T2 X: Y* {" r swarmSetp();8 Z3 c0 I. i' a4 E9 ~; x/ k4 S9 R
actionGroup = new ActionGroupImpl(aZone);
# {0 J8 s8 l( I! ?( z/ W schedule = new ScheduleImpl(aZone);
# ?$ M# L8 @3 g% u* A' r0 d try {
$ c5 p- \; y: j: |) g3 J+ f Selector agentSel = new Selector(Agent.class, "agentStep", false);
2 z6 g- C4 E$ ]$ _0 D9 a9 e6 H' K3 Q' G Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
7 |+ a: o; @( Z& t- F : }* n8 C! L4 O" z
actionGroup.createActionForEach$message(list, agentSel);* ` M& q' B: ?
actionGroup.createActionTo$message(this, swarmSel);' p( a5 o7 m/ E& Z2 A7 K6 b
schedule.at$createAction(0, actionGroup); K* `. ]7 m% e0 F7 V1 b5 Y
schedule.at$createAction(1, actionGroup);
2 y. N5 z" u" J- u8 C2 L schedule.at$createAction(2, actionGroup);( r0 L; O, R) u' @
n! H* D" l, E' ^* L7 x( a3 `
} catch (Exception e) {6 L; M( C) e6 M
e.printStackTrace(System.err);
5 n! l/ q! N0 B; u+ }- z- v //System.out.println(e);
& e& }* Y# Z( I' H+ x2 V% i7 Y! c System.exit(1);
( F8 p% O: \1 O6 k; F4 g* q7 F' C _ }( C8 C1 i i" ^* y8 F
' O. e, Q! O- ]
" J' [9 z+ X9 L1 U+ h7 Q% i; s
}
f3 A! e# D4 t7 U4 h0 p) G
+ ?* p _; Z* b" ~ private void swarmSetp() {
- D+ r7 {9 D8 D, k3 P list.addLast(new Agent(Id));
6 Y; D: O4 ^; a. w- Y3 B0 L Id++;
) \' T$ J+ q2 M" I }, q) J" Z* L% ?* S$ ^ `
u7 L( D8 h1 n6 \. l: B. a
public Activity activateIn(Swarm context) {
$ A& Z9 a5 q4 Y. m& V. t super.activateIn(context);
1 p* z: t- i7 o% b1 r schedule.activateIn(this);
% J2 \7 K" p+ x return getActivity();
0 e2 g T7 N: I/ j5 b }9 ~, {& ?# M" Q, W' Q) k
& s( K5 ?) f+ _7 B
public static void main(String[] args) {0 ~% F5 R6 ]; h
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
. T# S& [* I# p6 e Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);3 @0 w' O* I* v$ r r& x
swarms.buildObjects();% i, u3 g2 U! V% t( C0 z
swarms.buildActions();2 s0 i8 V; ?/ j- P
swarms.activateIn(null).run();& h- w/ }+ E, Z% u$ a4 u+ ]9 L
}
# t& {/ }" R! Z v
7 K" {* U( E P3 J; z7 U4 x" |} |
|