Пример #1
0
        public void TestProgram()
        {
            lock (this)
            {
                needToTest = ProgPool.pop(this);
                if (needToTest == null)
                {
                    __changeTextStatus("Пише свою програму, бо нічого тестити");
                    __changeStatus(1);
                    return;
                }

                __changeTextStatus($"Починає тестувати {needToTest.writer.name} програму");

                needToTest.tester = this;
                Thread.Sleep(Util.randInt(3000, 7000));
                needToTest.correct = Util.randBool();
                __changeTextStatus($"Програма написана {needToTest.writer.name} є " + (needToTest.correct ? "правильна" : "неправильна"));
                if (!needToTest.correct)
                {
                    if (needToTest.writer.status == 3)
                    {
                        needToTest.writer.are.Set();
                    }
                }

                __changeStatus(3);
            }
        }
Пример #2
0
        public void MakeOwnProgram()
        {
            lock (this)
            {
                __changeTextStatus("Пише власну програму");
                Thread.Sleep(Util.randInt(4000, 6000));
                ownProgram = new Prog()
                {
                    writer = this
                };
                ProgPool.add(ownProgram);
                __changeTextStatus("Закінчив написання програми");

                __changeStatus(2);
            }
        }