static void Main(string[] args)
    {
        //Keep the GC churning away at finalization to demonstrate the case
        Task.Factory.StartNew(() =>
        {
            while (!_end)
            {
                GC.Collect();
                GC.WaitForPendingFinalizers();
            }
        });
        //Keep constructing cats until we find the desired case
        int catCount = 0;

        while (!_end)
        {
            catCount++;
            var cat = new Schrodinger();
            while (_lifeState != 2)
            {
                Thread.Yield();
            }
        }
        Console.WriteLine("{0} cats died in the making of this boundary case", catCount);
        Console.ReadKey();
    }
Ejemplo n.º 2
0
    // Start is called before the first frame update
    void Start()
    {
        GameObject canvas = GameObject.Find("GameUICanvas");

        mTimer             = canvas.transform.Find("Timer").GetComponent <Text>();
        mLivingText        = canvas.transform.Find("FurnitureRatio").transform.Find("FurnitureLiving").GetComponent <Text>();
        mDeadText          = canvas.transform.Find("FurnitureRatio").transform.Find("FurnitureDead").GetComponent <Text>();
        mEndPanel          = canvas.transform.Find("GameOverPanel").gameObject;
        mEndText           = mEndPanel.transform.Find("GameOverText").GetComponent <Text>();
        mGameTime          = mStartingTime;
        mGameState         = State.GAME;
        mFurniture         = GameObject.FindGameObjectsWithTag("interobj");
        mSchrodinger       = GameObject.Find("Schrodinger").GetComponent <Schrodinger>();
        mNoiseInterval     = mSchrodinger.mTimeBetweenNoise;
        mTimeFromLastNoise = 0;
    }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            for (int i = 0; i < 10000; i++)
            {
                var s = new Schrodinger();
                var val = s.Value;

                var s2 = new Schrodinger();
                var val2 = s2.Value;

                var eq = s.CompareTo(s2);

                if (val != null)
                    Console.WriteLine(val);

                if (val2 != null)
                    Console.WriteLine(val2);

                Console.WriteLine();

                Debug.WriteLine(i);
                Thread.Sleep(1000);
            }
        }