Beispiel #1
0
        protected override void NotifyOthers()
        {
            //ご近所さん全員に伝える
            foreach (Agent neighbour in this.Neighbours)
            {
                if (!messageBox.ReceivedFrom(neighbour) ||           //ただし、意見をくれたやつにはあげる必要ない。
                    messageBox.OpinionOf(neighbour) != this.Opinion) //くれてるやつでも、違う意見もってるやつには投げる。
                {                                                    //センサーが入ってるとバグるよ。なぜならば、receivedFromが成立しないから?
                    if (Opinion == null)
                    {
                        throw new Exception("こんなことありえない。バグだ");
                    }

                    BlackWhiteSubject myopinion = thought.Opinion.Value; //nullableを通常に変換

                    this.SendOpinion(myopinion, neighbour);              //送る
                }
            }

            messageBox = new DRMessageQueue();
        }
Beispiel #2
0
        protected override void NotifyOthers()
        {
            //ご近所さん全員に伝える
            foreach (Agent neighbour in this.Neighbours)

            if (!messageBox.ReceivedFrom(neighbour) || //ただし、意見をくれたやつにはあげる必要ない。
                messageBox.OpinionOf(neighbour) != this.Opinion )//くれてるやつでも、違う意見もってるやつには投げる。
            {//センサーが入ってるとバグるよ。なぜならば、receivedFromが成立しないから?

                if (Opinion == null)
                {
                    throw new Exception("こんなことありえない。バグだ");
                }

                BlackWhiteSubject myopinion = thought.Opinion.Value;//nullableを通常に変換

                this.SendOpinion(myopinion, neighbour);//送る
            }

            messageBox = new DRMessageQueue();
        }
Beispiel #3
0
        public override void Initialize()
        {
            base.Initialize();

            messageBox = new DRMessageQueue();
        }
Beispiel #4
0
        public override void Initialize()
        {
            base.Initialize();

            messageBox = new DRMessageQueue();
        }