Пример #1
0
        public void PerfectTest()
        {
            bool    answer      = true;
            Perfect PerfectTest = new Perfect();
            bool    actual      = PerfectTest.IsPerfectNumber(6);

            Assert.AreEqual(answer, actual);
        }
Пример #2
0
        public void notPerfectTest()
        {
            bool    answer         = false;
            Perfect notPerfectTest = new Perfect();
            bool    actual         = notPerfectTest.IsPerfectNumber(2);

            Assert.AreEqual(answer, actual);
        }
Пример #3
0
        public void ZeropTest()
        {
            bool    answer    = true;
            Perfect ZeropTest = new Perfect();
            bool    actual    = ZeropTest.IsPerfectNumber(0);

            Assert.AreEqual(answer, actual);
        }
Пример #4
0
 /// <summary>
 /// 取得得分
 /// </summary>
 /// <param name="hit">目標物件</param>
 /// <returns></returns>
 public static Evaluation GetScore(float positton)
 {
     if (Perfect.IsInTolerance(positton))
     {
         return(Perfect);
     }
     else if (Great.IsInTolerance(positton))
     {
         return(Great);
     }
     else if (Good.IsInTolerance(positton))
     {
         return(Good);
     }
     else
     {
         return(Bad);
     }
 }
Пример #5
0
        public static void welcomePage()
        {
            Console.WriteLine("Welcome {0}", Student.name);
            Console.WriteLine("-------------------------");

            Console.WriteLine("\nStudent Menu");
            Console.WriteLine("-------------------------");

            Console.WriteLine("Please Choose an Option: ");
            Console.WriteLine("(1) Generate Perfect Path");
            Console.WriteLine("(2) View Previous Perfect Path");
            Console.WriteLine("(3) Develop an Alternate Path to Graduation");
            Console.WriteLine("(4) What-If Central");
            Console.WriteLine("(0) Exit");

            Console.Write("Option Selected: ");

            int userOption = Convert.ToInt32(Console.ReadLine());

            Console.Clear();
            switch (userOption)
            {
            case 1: Perfect.Generate_Perfect();
                break;

            case 2:     //View Previous perfect path generations
                break;

            case 3:     //Develop alternat paths to graduation
                break;

            case 4:     //What-If central
                break;

            case 0:
                System.Environment.Exit(0);
                break;

            default:     //Bad selection
                break;
            }
        }
Пример #6
0
        /// <summary>
        ///     使用指定的格式创建字符串
        /// </summary>
        /// <param name="format">格式</param>
        /// <param name="formatProvider"></param>
        /// <returns></returns>
        public string ToString(string format, IFormatProvider formatProvider)
        {
            var b = new StringBuilder(format);

            b.Replace("perfect", Perfect.ToString());
            b.Replace("Count300g", CountGeki.ToString());
            b.Replace("c300", Count300.ToString());
            b.Replace("Count200", CountKatu.ToString());
            b.Replace("Count100", Count100.ToString());
            b.Replace("Count50", Count50.ToString());
            b.Replace("CountMiss", CountMiss.ToString());
            b.Replace("maxcombo", MaxCombo.ToString());
            b.Replace("userid", UserId.ToString());
            b.Replace("rank", Rank);
            b.Replace("playtime", _d.ToString("yyyy/MM/dd HH:mm:ss"));
            b.Replace("score", Score.ToString());
            b.Replace("beatmapid", BeatmapId.ToString());
            b.Replace("acc", Accuracy.ToString("p2"));
            return(b.ToString());
        }
Пример #7
0
        public static void ProcessNumber()
        {
            int     num     = ConsoleInput.GetNum();
            Prime   Prime   = new Prime();
            Factor  Factor  = new Factor();
            Perfect Perfect = new Perfect();

            bool ifPrime   = Prime.GetPrime(num);
            bool ifPerfect = Perfect.IsPerfectNumber(num);

            int[] numbers = Factor.GetFactors(num);

            if (ifPrime == true)
            {
                Console.Write("{0} is a prime number\n\n", num);
            }
            else
            {
                Console.Write("{0} is not a prime number\n\n", num);
            }

            if (ifPerfect == true)
            {
                Console.Write("{0} is a perfect number\n\n", num);
            }
            else
            {
                Console.Write("{0} is not a perfect number\n\n", num);
            }
            int j = numbers.Length;

            for (int i = 0; i < j; i++)
            {
                Console.Write("{0},", numbers[i]);
            }
            Console.Write(" are the factors of {0}\n\n", num);
        }
Пример #8
0
    // Update is called once per frame
    void FixedUpdate()
    {
        if (index >= SandwichParts.Length)
        {
            QualityText.gameObject.SetActive(false);
            ResultScreen.SetActive(true);
            if (resultCounter <= 3.5f)
            {
                OK.SetActive(true);
            }
            if (resultCounter > 3.5f && resultCounter <= 5.5)
            {
                Good.SetActive(true);
            }
            if (resultCounter > 5.5f)
            {
                Perfect.SetActive(true);
            }
            //ChangeScene.Invoke();
        }

        partX += i * MaxSpeed;
        partY  = Random.Range(-1 * JitterValue * Jitteriness[index], JitterValue * Jitteriness[index]);
        SandwichParts[index].transform.position = new Vector3(partX - partY, partY, 0);
        i += multiplyer;
        if (SandwichParts[index].transform.position.x > RightPos.position.x && !_isFacingLeft)
        {
            multiplyer = -1;
            i          = 0;
            Flip();
        }
        if (SandwichParts[index].transform.position.x < LeftPos.position.x && _isFacingLeft)
        {
            multiplyer = 1;
            i          = 0;
            Flip();
        }
        if (SandwichParts[index].transform.localPosition.x >= -0.75 && SandwichParts[index].transform.localPosition.x <= 0.75)
        {
            quality = "Perfect";
        }
        if ((SandwichParts[index].transform.localPosition.x >= -2.5 && SandwichParts[index].transform.localPosition.x < -0.75) ||
            (SandwichParts[index].transform.localPosition.x > 0.75 && SandwichParts[index].transform.localPosition.x < 2.5))
        {
            quality = "Good";
        }
        if (SandwichParts[index].transform.localPosition.x >= 2.5 || SandwichParts[index].transform.localPosition.x < -2.5)
        {
            quality = "OK";
        }
        Debug.Log(resultCounter);
        if (Input.GetKey("space") && canPress == true)
        {
            soundefex.Play();
            if (SandwichParts[index].transform.localPosition.x >= -0.75 && SandwichParts[index].transform.localPosition.x <= 0.75)
            {
                resultCounter += 1.0f;
            }
            else if ((SandwichParts[index].transform.localPosition.x >= -2.5 && SandwichParts[index].transform.localPosition.x < -0.75) ||
                     (SandwichParts[index].transform.localPosition.x > 0.75 && SandwichParts[index].transform.localPosition.x < 2.5))
            {
                resultCounter += 0.75f;
            }
            else if (SandwichParts[index].transform.localPosition.x >= 2.5 || SandwichParts[index].transform.localPosition.x < -2.5)
            {
                resultCounter += 0.5f;
            }

            QualityText.text = quality;
            _myBox.enabled   = !_myBox.enabled;
            SandwichParts[index].transform.position = SandwichParts[index].transform.position;
            index += 1;
            SandwichParts[index].SetActive(true);
            SandwichParts[index].transform.position = SpawnPoint.transform.position;
            StartCoroutine("TurnOnHitbox");
        }
    }
Пример #9
0
        private static void ParseHitObjects(StringReader sr, ref Beatmap map)
        {
            List <HitCircle> circles  = new List <HitCircle>();
            List <Slider>    sliders  = new List <Slider>();
            List <Spinner>   spinners = new List <Spinner>();

            while (true)
            {
                string line = sr.ReadLine();

                if (string.IsNullOrWhiteSpace(line))
                {
                    map.HitCircles = circles;
                    map.Sliders    = sliders;
                    map.Spinners   = spinners;
                    return;
                }

                string[]  parts = line.Split(',');
                HitObject ho    = new HitObject()
                {
                    X          = int.Parse(parts[0]),
                    Y          = int.Parse(parts[1]),
                    Time       = int.Parse(parts[2]),
                    ObjectType = (HitObjectType)int.Parse(parts[3]),
                    Hitsound   = (HitSoundType)int.Parse(parts[4])
                };
                //ho.

                if ((ho.ObjectType & HitObjectType.Circle) != 0)
                {
                    circles.Add((HitCircle)ho);
                }
                else if ((ho.ObjectType & HitObjectType.Slider) != 0)
                {
                    Slider   slider    = (Slider)ho;
                    string[] pointData = parts[5].Split('|');

                    slider.CurveAnchors = new Vector2D[pointData.Length - 1];
                    for (int i = 1; i < pointData.Length; i++)
                    {
                        string[] point = pointData[i].Split(':');
                        slider.CurveAnchors[i - 1] = new Vector2D(double.Parse(point[0]), double.Parse(point[1]));
                    }

                    switch (pointData[0][0]) //Gets first character of first part of pointData, aka the character signalling the type of slider
                    {
                    case 'B':
                        slider.Type        = SliderType.Bezier;
                        slider.CurvePoints = Bezier.BezierCurveDistributed(slider.CurveAnchors, 500, 0.01);
                        break;

                    case 'P':
                        slider.Type        = SliderType.Perfect;
                        slider.CurvePoints = Perfect.CircularCurve(slider.CurveAnchors, 500);
                        break;

                    case 'L':
                        slider.Type        = SliderType.Linear;
                        slider.CurvePoints = Linear.LinearLine(slider.CurveAnchors, 500);
                        break;

                    case 'C':
                        slider.Type        = SliderType.Catmull;
                        slider.CurvePoints = Catmull.CatmullCurveDistributed(slider.CurveAnchors, 500, 0.01);
                        break;
                    }

                    slider.Repeat      = int.Parse(parts[6]);
                    slider.PixelLength = double.Parse(parts[7]);

                    slider.EdgeHitsounds = new List <HitSoundType>();
                    foreach (string str in parts[8].Split('|'))
                    {
                        slider.EdgeHitsounds.Add((HitSoundType)int.Parse(str));
                    }

                    slider.EdgeAdditions = new List <HitSoundSample>();
                    foreach (string sample in parts[9].Split('|'))
                    {
                        string[] sets = sample.Split(':');
                        slider.EdgeAdditions.Add(new HitSoundSample()
                        {
                            SampleSet   = (SampleSet)int.Parse(sets[0]),
                            AdditionSet = (SampleSet)int.Parse(sets[1])
                        });
                    }

                    sliders.Add(slider);
                }
                else if ((ho.ObjectType & HitObjectType.Spinner) != 0)
                {
                    Spinner s = (Spinner)ho;
                    s.EndTime = int.Parse(parts[5]);

                    spinners.Add(s);
                }
            }
        }