diff --git a/internal/simulation/agent.go b/internal/simulation/agent.go index 15be7fc84bb7daf7b4debec89bb14c67ad3ba9cb..74ea1991434027aa07afe18cb30624a9adf1a849 100644 --- a/internal/simulation/agent.go +++ b/internal/simulation/agent.go @@ -28,7 +28,8 @@ const ( Wait Move Disapear - Expel + Expel // virer l'agent + Stop // arreter l'agent ) type Coord [2]int diff --git a/internal/simulation/controleur.go b/internal/simulation/controleur.go index 8916fa5464bc4a8e6dd389e2c5570d6c528fd8e1..6042a408dc4462692cdeb712fe61b4f61ed103e1 100644 --- a/internal/simulation/controleur.go +++ b/internal/simulation/controleur.go @@ -55,15 +55,15 @@ func (c *Controleur) Deliberate(ag *Agent) { } else { if matchedAgt && ag.env.controlledAgents[AgentID(c.faceCase)] == false { // si l'agent devant le controleur est un agent et qu'il n'a pas encore été controlé //fmt.Println("L'agent ", c.face, " a été détecté par le controleur") - ag.decision = Expel // arreter l'agent devant lui + ag.decision = Stop // arreter l'agent devant lui } else if matchedFraud && !ag.env.controlledAgents[AgentID(c.faceCase)]{ ag.decision = Expel // virer l'agent devant lui } else{ // Comportement de l'usager lambda (comportement par defaut) if ag.stuck { - ag.decision = Wait + ag.decision = Wait // attendre } else { - ag.decision = Move + ag.decision = Move // avancer } } } @@ -75,7 +75,7 @@ func (c *Controleur) Act(ag *Agent) { } else if ag.decision == Wait { n := rand.Intn(2) // temps d'attente aléatoire time.Sleep(time.Duration(n) * time.Second) - } else { // Expel + } else { // Expel ou Wait agt_face_id := AgentID(c.faceCase) //id de l'agent qui se trouve devant le controleur ag.env.agentsChan[agt_face_id] <- *NewRequest(ag.id, ag.decision) // envoie la decision du controleur à l'agent qui se trouve devant lui //fmt.Print("[Controlleur , Act ]requête envoyée à l'agent ", agt_face_id, "\n") diff --git a/internal/simulation/usagerLambda.go b/internal/simulation/usagerLambda.go index f94f84de364e4c4840fef4b4beade5d6bf407e9c..7f3e09ccb038019a700fd33f4f941e78888b7a22 100644 --- a/internal/simulation/usagerLambda.go +++ b/internal/simulation/usagerLambda.go @@ -34,9 +34,9 @@ func (ul *UsagerLambda) Percept(ag *Agent) { func (ul *UsagerLambda) Deliberate(ag *Agent) { //fmt.Println("[AgentLambda Deliberate] decision :", ul.req.decision) - if ul.req.decision == Wait{ + if ul.req.decision == Stop{ ag.decision = Wait - } else if ul.req.decision == Expel{ // cette condition est inutile car l'usager lambda ne peut pas etre expulsé + } else if ul.req.decision == Expel{ // cette condition est inutile car l'usager lambda ne peut pas etre expulsé , elle est nécessaire pour les agents fraudeurs ag.decision = Expel }else if ag.position == ag.destination && (ag.isOn[ag.position] == "W" || ag.isOn[ag.position] == "S") { //fmt.Println(ag.id, "disapear")