Ejemplo n.º 1
0
        public void NextStatus()
        {
            if (BeforeStatus == TypeWireWorld.empty)
            {
                return;
            }
            else if (BeforeStatus == TypeWireWorld.head)
            {
                Status = TypeWireWorld.tail;
            }
            else if (BeforeStatus == TypeWireWorld.tail)
            {
                Status = TypeWireWorld.conductor;
            }
            else if (BeforeStatus == TypeWireWorld.conductor)
            {
                //si una o dos celdas vecinas son cabeza de electron
                //se convierte en cabeza de electron

                int count = 0;
                if (((WireWorld)Top).BeforeStatus == TypeWireWorld.head)
                {
                    count++;
                }
                if (((WireWorld)TopLeft).BeforeStatus == TypeWireWorld.head)
                {
                    count++;
                }
                if (((WireWorld)TopRight).BeforeStatus == TypeWireWorld.head)
                {
                    count++;
                }
                if (((WireWorld)Left).BeforeStatus == TypeWireWorld.head)
                {
                    count++;
                }
                if (((WireWorld)Right).BeforeStatus == TypeWireWorld.head)
                {
                    count++;
                }
                if (((WireWorld)Bottom).BeforeStatus == TypeWireWorld.head)
                {
                    count++;
                }
                if (((WireWorld)BottomLeft).BeforeStatus == TypeWireWorld.head)
                {
                    count++;
                }
                if (((WireWorld)BottomRight).BeforeStatus == TypeWireWorld.head)
                {
                    count++;
                }

                if (count == 1 || count == 2)
                {
                    Status = TypeWireWorld.head;
                }
            }
        }
Ejemplo n.º 2
0
 public WireWorld(int x, int y, TypeWireWorld type) : base(x, y)
 {
     Status = BeforeStatus = type;
 }