LoginSignup
0
1

More than 5 years have passed since last update.

配列とループ文を使って条件分岐するサンプル

Posted at

最初に

去年の年末から書こうと思ったまま書いてなかったことです
去年作ったゲームで、このアルゴリズムを使いました

もう少し工夫すると、汎用性が上がるかも

コード


using System;

namespace Test {

    static class Program {
        static void Main() {
            var rand = new Random();
            var num = rand.Next(10);

            TraceNotUseArray(num);
            TraceUseArray(num);
        }

        static void TraceNotUseArray(int num) {
            Console.WriteLine("配列を使わない場合の条件分岐");

            if (num < 3) Console.WriteLine(num + " 番 : 0 - 2");
            else if (num < 5) Console.WriteLine(num + " 番 : 3 - 4");
            else if (num < 6) Console.WriteLine(num + " 番 : 5");
            else if (num < 10) Console.WriteLine(num + " 番 : 6 - 9");

            Console.WriteLine("\n");
        }

        static void TraceUseArray(int num) {
            Console.WriteLine("配列を使った条件分岐");

            foreach(var i in TraceDatas) {
                if (num >= i.Max) continue;

                i.Trace(num);
                break;
            }

            Console.WriteLine("\n");
        }

        static TraceData[] TraceDatas = new TraceData[]{
            new TraceData{ Max = 3, AddStr = "0 - 2" },
            new TraceData{ Max = 5, AddStr = "3 - 4" },
            new TraceData{ Max = 6, AddStr = "5" },
            new TraceData{ Max = 10, AddStr = "6 - 9" },
        };
    }

    sealed class TraceData {
        public int Max { get; set; }
        public string AddStr { get; set; }

        public void Trace(int num) {
            Console.WriteLine(num + " 番" + " : " + AddStr);
        }
    }
}

0
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1