Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in
/home/clients/7e4bc2f7e893962ca21d7e305619d422/web/madkit/forum/include/parser.php on line
821
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in
/home/clients/7e4bc2f7e893962ca21d7e305619d422/web/madkit/forum/include/parser.php on line
821
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in
/home/clients/7e4bc2f7e893962ca21d7e305619d422/web/madkit/forum/include/parser.php on line
821
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in
/home/clients/7e4bc2f7e893962ca21d7e305619d422/web/madkit/forum/include/parser.php on line
821
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in
/home/clients/7e4bc2f7e893962ca21d7e305619d422/web/madkit/forum/include/parser.php on line
821
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in
/home/clients/7e4bc2f7e893962ca21d7e305619d422/web/madkit/forum/include/parser.php on line
821
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in
/home/clients/7e4bc2f7e893962ca21d7e305619d422/web/madkit/forum/include/parser.php on line
821
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in
/home/clients/7e4bc2f7e893962ca21d7e305619d422/web/madkit/forum/include/parser.php on line
821
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in
/home/clients/7e4bc2f7e893962ca21d7e305619d422/web/madkit/forum/include/parser.php on line
821
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in
/home/clients/7e4bc2f7e893962ca21d7e305619d422/web/madkit/forum/include/parser.php on line
821
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in
/home/clients/7e4bc2f7e893962ca21d7e305619d422/web/madkit/forum/include/parser.php on line
821
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in
/home/clients/7e4bc2f7e893962ca21d7e305619d422/web/madkit/forum/include/parser.php on line
821
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in
/home/clients/7e4bc2f7e893962ca21d7e305619d422/web/madkit/forum/include/parser.php on line
821
- Nav
- Member
- Registered: 2010-04-19
- Posts: 2
handleMessage
Bonjour,
j'ai un petit problème dans mon programme plus particulièrement la fonction handleMessage .
je veux que si je clique sur le bouton send , l'agent duplique la fonction handleMessage aux autres agents.
mon prolème est qu'il me signale une variable m inconnu dans la fonction sendHelloToAll.
mon code est le suivant:
package madkit.Memoire;
import madkit.kernel.*;
public class Radio1 extends Agent {
String myCommunity="Memoire";
String myGroupe="myGroupe"; // change the group name to suit your needs
String myRole="myRole"; // change the role name to suit your needs
String Group="Group";
String base="base";
boolean alive = true;
Radio1GUI gui;
public void initGUI() {
gui = new Radio1GUI(this);
this.setGUIObject(gui);
}
public void activate(){
println("Hello I'm an agent !");
// create a distributed group
int g = createGroup(true, myCommunity, myGroupe, null, null);
int gr = createGroup(true, myCommunity, Group, null, null);
if (g == 1)
println("I create the group "+myGroupe+" in community "+myCommunity);
else if (g == -1)
println("The group has already been created");
else
println("Cannot create the group");
int r = requestRole(myCommunity, myGroupe, myRole,null);
int rl = requestRole(myCommunity, Group, base,null);
if (r == 1)
println("I play "+ myRole + " in " + myGroupe + " of " + myCommunity);
else if (r == -1)
println("I cannot enter the group: access denied");
else if (r == -2)
println("I already play the role "+myRole+" in " + myGroupe + " of " + myCommunity);
else if (r == -3)
println("The group "+myGroupe+" does not exist int the community "+myCommunity);
else if (r == -4)
println("The community "+myCommunity+" does not exist");
}
public void live()
{
println("I am alive...");
broadcastMessage(myCommunity, Group, base, new StringMessage("Hello to all!"));
while(alive){
this.exitImmediatlyOnKill(); //to be sure the agent thread can be really stopped
Message m = waitNextMessage();
if (m instanceof StringMessage)
handleMessage((StringMessage) m);
}
}
void die(){
sendMessage(getAddress(),new StringMessage("die"));
}
public void handleMessage(StringMessage m){
// You should describe here the agent's behavior
// upon reception of a message
if (m.getString().equals("die"))
alive = false;
else
println("message: "+m.getString() + " : received from "+m.getSender());
}
void sendHelloToAll(){
AgentAddress[] agents = getAgentsWithRole(myCommunity, Group, base);
// AgentAddress me = getAddress();
// println(":: sending hello to "+(agents.length-1)+" agents");
// for(int i=0;i<agents.length;i++){
// if (agents[i] != me){
// sendMessage(agents[i],new StringMessage("Hello to to you!!"));
handleMessage((StringMessage) m);
//}
//}
}
je sais que la variable m de la fonction sendHelloToAll est inconnu mais je c pas comment la declarer pour que la fonction handleMessage marche.
merci
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in
/home/clients/7e4bc2f7e893962ca21d7e305619d422/web/madkit/forum/include/parser.php on line
821
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in
/home/clients/7e4bc2f7e893962ca21d7e305619d422/web/madkit/forum/include/parser.php on line
821
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in
/home/clients/7e4bc2f7e893962ca21d7e305619d422/web/madkit/forum/include/parser.php on line
821
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in
/home/clients/7e4bc2f7e893962ca21d7e305619d422/web/madkit/forum/include/parser.php on line
821
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in
/home/clients/7e4bc2f7e893962ca21d7e305619d422/web/madkit/forum/include/parser.php on line
821
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in
/home/clients/7e4bc2f7e893962ca21d7e305619d422/web/madkit/forum/include/parser.php on line
821
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in
/home/clients/7e4bc2f7e893962ca21d7e305619d422/web/madkit/forum/include/parser.php on line
821
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in
/home/clients/7e4bc2f7e893962ca21d7e305619d422/web/madkit/forum/include/parser.php on line
821
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in
/home/clients/7e4bc2f7e893962ca21d7e305619d422/web/madkit/forum/include/parser.php on line
821
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in
/home/clients/7e4bc2f7e893962ca21d7e305619d422/web/madkit/forum/include/parser.php on line
821
- fmichel
- Administrator
- From: Montpellier
- Registered: 2009-03-24
- Posts: 178
- Website
Re: handleMessage
je pense qu'il suffit de ne pas mettre d'appel à handleMessage dans le sendtoall : elle est déjà appelée dans le live