From 494e88fc8422ffb9ac85c9a76cba238d99a9baaf Mon Sep 17 00:00:00 2001 From: jrafei <jana.eltayeb-el-rafei@etu.utc.fr> Date: Sat, 16 Dec 2023 18:30:49 +0100 Subject: [PATCH] changer_decision --- internal/simulation/agent.go | 3 ++- internal/simulation/controleur.go | 8 ++++---- internal/simulation/usagerLambda.go | 4 ++-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/internal/simulation/agent.go b/internal/simulation/agent.go index 15be7fc..74ea199 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 8916fa5..6042a40 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 f94f84d..7f3e09c 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") -- GitLab