Bonjour tout le monde, je débute avec jade et là j'essaye de comprendre le fonctionnement des behaviours donc je me suis inspiré de l'exemple fourni avec la plateforme cependant je n'ai pas compris le résultat que j'ai obtenu si quelqu'un peut m'aider
voila le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import jade.core.Agent;
import jade.core.behaviours.Behaviour;
import jade.core.behaviours.OneShotBehaviour;
import jade.core.behaviours.CyclicBehaviour;
 
public class comm extends Agent {
	  private int step = 1;
	protected void setup() {
	    System.out.println("Agent "+getLocalName()+" started.");
 
	    CyclicBehaviour CyclicBehave=new CyclicBehaviour() {
 
 
	    	public void action() {
		    	  switch (step) {
		    	  case 1: System.out.println("Cycle "+step);break;
		    	  case 2: System.out.println("Cycle "+step);break;
		    	  case 3:{ 
		    		  OneShotBehaviour OneShotBehave=new OneShotBehaviour() {
				      public void action() {
					        System.out.println("One shotttt  " + step);
					      } 
					    };
				    addBehaviour(OneShotBehave);break;}
		    		 }
		    	  step++;
		      } 
		    };
	    addBehaviour(CyclicBehave);
 
	}
	public boolean done(){ return step==3;}
 
	 public int onEnd() {
	     doDelete();
	     return this.onEnd();
	    }
}
et le résultat affiché
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
----------------
Cycle 1
Cycle 2
One shotttt  5
or d'apres ce que j'ai compris normalement le 3 case du switch ne devrait s'excuter vu que step =3 qui est la condition spécifiée dans la méthode done
et je n'arrive pas à comprendre d'ou vient le "5" dans ce cas :/
Salutations et merci d'avance