예제 #1
0
        //みんなに知らせる。自分の意見はこうですよと。
        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();
        }
예제 #2
0
        //みんなに知らせる。自分の意見はこうですよと。
        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();
        }
예제 #3
0
        public override void Initialize()
        {
            base.Initialize();

            messageBox = new DRMessageBox();
        }
예제 #4
0
        public override void RoundInit()
        {
            base.RoundInit();

            messageBox = new DRMessageBox();
        }
예제 #5
0
        public override void RoundInit()
        {
            base.RoundInit();

            messageBox = new DRMessageBox();
        }
예제 #6
0
        public override void Initialize()
        {
            base.Initialize();

            messageBox = new DRMessageBox();
        }