//みんなに知らせる。自分の意見はこうですよと。 protected override void NotifyOthers(BlackWhiteSubject? myOpinion = null) { BlackWhiteSubject opinion = checkOpinion(myOpinion); //ご近所さん全員に伝える foreach (IAgent neighbour in this.Neighbours) if (!messageBox.ReceivedFrom(neighbour) || //ただし、意見をくれたやつにはあげる必要ない。 messageBox.OpinionOf(neighbour) != this.Opinion )//くれてるやつでも、違う意見もってるやつには投げる。 { SendOpinion(opinion, neighbour); } messageBox = new DRMessageBox(); }
//みんなに知らせる。自分の意見はこうですよと。 protected override void NotifyOthers(BlackWhiteSubject?myOpinion = null) { BlackWhiteSubject opinion = checkOpinion(myOpinion); //ご近所さん全員に伝える foreach (IAgent neighbour in this.Neighbours) { if (!messageBox.ReceivedFrom(neighbour) || //ただし、意見をくれたやつにはあげる必要ない。 messageBox.OpinionOf(neighbour) != this.Opinion) //くれてるやつでも、違う意見もってるやつには投げる。 { SendOpinion(opinion, neighbour); } } messageBox = new DRMessageBox(); }
public override void Initialize() { base.Initialize(); messageBox = new DRMessageBox(); }
public override void RoundInit() { base.RoundInit(); messageBox = new DRMessageBox(); }