Beispiel #1
0
        public void setTarget()
        {
            // 紙とステープラを生成し、setTargetで紙をセット
            var target  = new Paper();
            var stapler = new Stapler();

            stapler.setTarget(target);

            // リフレクションを使って、きちんとセットされたか確認
            var setObject = (Paper)stapler.GetType().GetField("target", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(stapler);

            Assert.AreEqual(target, setObject);
        }
Beispiel #2
0
        public void execute_turnOver(int code, bool initial, bool assert)
        {
            // テストで使用するオブジェクトを生成
            var paper = Paper.instance(initial, Paper.AlignState.Excellent);

            Assert.AreEqual(paper.IsFaceUp, initial);
            var stapler = new Stapler();

            stapler.setTarget(paper);
            var clickPosition = (Vector3)stapler.GetType().GetField("clickPosition", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(stapler);

            clickPosition = Vector3.zero;

            // 実行
            var distance = getRangeToJudge(stapler, "RANGE_TO_JUDGE_AS_HORIZONTAL_SWIPE");
            var objects  = new object[1];

            objects[0] = (object)new Vector3((distance + 1) * code, 0, 0);
            stapler.GetType().GetMethod("execute", BindingFlags.NonPublic | BindingFlags.Instance).Invoke(stapler, objects);

            // paper.turnOverが実行されたはずなので結果を確認する
            Assert.AreEqual(paper.IsFaceUp, assert);
        }
Beispiel #3
0
        public void execute_bind(int xCode, int yCode)
        {
            // テストで使用するオブジェクトを生成
            var paper = Paper.instance(true, Paper.AlignState.Excellent);

            Assert.AreEqual(getNeedleListCount(paper), 0);
            var stapler = new Stapler();

            stapler.setTarget(paper);
            var clickPosition = (Vector3)stapler.GetType().GetField("clickPosition", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(stapler);

            clickPosition = Vector3.zero;

            // 実行
            var horizontal = getRangeToJudge(stapler, "RANGE_TO_JUDGE_AS_HORIZONTAL_SWIPE");
            var vertical   = getRangeToJudge(stapler, "RANGE_TO_JUDGE_AS_VERTICAL_SWIPE");
            var objects    = new object[1];

            objects[0] = (object)new Vector3((horizontal - 0.1f) * xCode, (vertical - 0.1f) * yCode, 0);
            stapler.GetType().GetMethod("execute", BindingFlags.NonPublic | BindingFlags.Instance).Invoke(stapler, objects);

            // paper.bindが実行されたはずなので結果を確認する
            Assert.AreEqual(getNeedleListCount(paper), 1);
        }
Beispiel #4
0
        public void execute_align(Paper.AlignState initial, Paper.AlignState assert)
        {
            // テストで使用するオブジェクトを生成
            var paper = Paper.instance(true, initial);

            Assert.AreEqual(paper.AlignStatus, initial);
            var stapler = new Stapler();

            stapler.setTarget(paper);
            var clickPosition = (Vector3)stapler.GetType().GetField("clickPosition", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(stapler);

            clickPosition = Vector3.zero;

            // 実行
            var distance = getRangeToJudge(stapler, "RANGE_TO_JUDGE_AS_VERTICAL_SWIPE");
            var objects  = new object[1];

            objects[0] = (object)new Vector3(0, distance + 1, 0);
            stapler.GetType().GetMethod("execute", BindingFlags.NonPublic | BindingFlags.Instance).Invoke(stapler, objects);

            Debug.Log(paper.AlignStatus);
            // paper.alignが実行されたはずなので結果を確認する
            Assert.AreEqual(paper.AlignStatus, assert);
        }
Beispiel #5
0
    public Character(Characterclass c, string name, int lvl = 0)
    {
        inventory = new Items[4];
        switch (c)
        {
        case Character.Characterclass.COUNT:
            stats = new int[] { 20, 20, 35, 20, 35, 10 };
            Calc c = new Calc("TI 83+");
            inventory[0] = c;
            break;

        case Character.Characterclass.GUARD:
            stats = new int[] { 45, 15, 45, 0, 15, 10 };
            Stick st = new Stick("Basic stick");
            inventory[0] = st;
            break;

        case Character.Characterclass.ING:
            stats = new int[] { 25, 15, 5, 40, 35, 35 };
            Computer co = new Computer("Raspberry Pi 0");
            break;

        case Character.Characterclass.INTER:
            stats = new int[] { 15, 15, 15, 15, 15, 15 };
            break;

        case Character.Characterclass.MAN:
            stats = new int[] { 10, 35, 10, 35, 10, 20 };
            Money m = new Money("just a little bit");
            inventory[0] = m;
            break;

        case Character.Characterclass.PDG:
            stats = new int[] { 10, 5, 10, 5, 10, 10 };
            Money m = new Money("just a little bit");
            inventory[0] = m;
            break;

        case Character.Characterclass.SEC:
            stats = new int[] { 10, 10, 10, 10, 10, 40 };
            Stapler s = new Stapler("Stapler of doom", 0, 5);
            inventory[0] = s;
            break;

        case Character.Characterclass.STAG:
            stats = new int[] { 20, 20, 20, 20, 20, 20 };
            Coffee cof = new Coffee("Nespresso");
            inventory[0] = cof;
            break;

        case Character.Characterclass.TECH:
            stats = new int[] { 15, 45, 5, 0, 20, 45 };
            Broom b = new Broom("Nimbus 2000");
            inventory[0] = b;
            break;

        default:
            stats = new int[] { 25, 25, 25, 25, 25, 25 };
            break;
        }
        for (int i = 0; i < 6; i++)
        {
            stats[i] += Random.Range(-2, 2);
            if (stats[i] < 0)
            {
                stats[i] = 0;
            }
        }
        life     = stats[0];
        maxLife  = life;
        this.lvl = 1;
        atk      = stats[1];
        def      = stats[2];
        matk     = stats[3];
        mdef     = stats[4];
        spd      = stats[5];



        life       = Life;
        maxLife    = life;
        this.c     = c;
        this.lvl   = lvl;
        this.cname = name;
    }
Beispiel #6
0
 // RANGE_TO_JUDGE_AS_HORIZONTAL_SWIPEまたはRANGE_TO_JUDGE_AS_VERTICAL_SWIPEを取得する
 private float getRangeToJudge(Stapler target, string fieldName)
 {
     return((float)target.GetType().GetField(fieldName, BindingFlags.NonPublic | BindingFlags.Static).GetValue(target));
 }