Esempio n. 1
0
        public void NextMoveTest4()
        {
            var s = "{\"turn\":4,\"walls\":[[0,0],[0,1],[0,2],[0,3],[0,4],[0,5],[0,6],[0,7],[0,8],[0,9],[0,10],[0,11],[0,12],[0,13],[0,14],[1,0],[1,14],[2,0],[2,2],[2,4],[2,6],[2,8],[2,10],[2,12],[2,14],[3,0],[3,14],[4,0],[4,2],[4,4],[4,6],[4,8],[4,10],[4,12],[4,14],[5,0],[5,14],[6,0],[6,2],[6,4],[6,6],[6,8],[6,10],[6,12],[6,14],[7,0],[7,14],[8,0],[8,2],[8,4],[8,6],[8,8],[8,10],[8,12],[8,14],[9,0],[9,14],[10,0],[10,2],[10,4],[10,6],[10,8],[10,10],[10,12],[10,14],[11,0],[11,14],[12,0],[12,2],[12,4],[12,6],[12,8],[12,10],[12,12],[12,14],[13,0],[13,14],[14,0],[14,1],[14,2],[14,3],[14,4],[14,5],[14,6],[14,7],[14,8],[14,9],[14,10],[14,11],[14,12],[14,13],[14,14]],\"blocks\":[[5,4],[3,11],[6,13],[8,7],[5,13],[11,8],[4,5],[2,11],[7,6],[13,9],[3,5],[3,4],[13,10],[11,1],[7,7],[4,13],[6,7],[11,2],[9,8],[2,5],[7,1],[5,7],[13,3],[1,5],[12,11],[9,2],[5,8],[8,9],[11,10],[1,6],[4,7],[10,3],[7,9],[13,4],[6,1],[5,1],[11,11],[10,11],[3,8],[8,3],[6,9],[11,5],[9,11],[2,7],[11,4],[13,6],[4,1],[9,12],[7,3],[5,10],[3,1],[8,11],[11,13],[7,4],[10,5],[13,7],[3,2],[1,8],[6,3],[9,5],[5,3],[1,9],[7,12],[12,7],[10,13],[3,10],[9,6],[8,5],[11,7],[5,12],[10,7],[1,3],[9,7],[1,11],[3,13],[12,9],[5,6],[10,1],[7,8],[11,3],[3,7],[9,10],[5,9],[7,2],[4,9],[6,11],[11,6],[4,3],[7,5],[1,10]],\"players\":[{\"name\":\"あなた\",\"pos\":{\"x\":1,\"y\":1},\"power\":2,\"setBombLimit\":2,\"ch\":\"あ\",\"isAlive\":true,\"setBombCount\":0,\"totalSetBombCount\":0,\"id\":0},{\"name\":\"敵\",\"pos\":{\"x\":1,\"y\":12},\"power\":2,\"setBombLimit\":2,\"ch\":\"敵\",\"isAlive\":true,\"setBombCount\":0,\"totalSetBombCount\":0,\"id\":1},{\"name\":\"泰\",\"pos\":{\"x\":13,\"y\":2},\"power\":2,\"setBombLimit\":2,\"ch\":\"泰\",\"isAlive\":true,\"setBombCount\":1,\"totalSetBombCount\":1,\"id\":2},{\"name\":\"敵\",\"pos\":{\"x\":12,\"y\":13},\"power\":2,\"setBombLimit\":2,\"ch\":\"敵\",\"isAlive\":true,\"setBombCount\":0,\"totalSetBombCount\":0,\"id\":3}],\"bombs\":[{\"pos\":{\"x\":12,\"y\":1},\"timer\":8,\"power\":2}],\"items\":[],\"fires\":[]}";

            //■■■■■■■■■■■■■■■
            //■P □□□□□  □□B201■
            //■ ■□■ ■□■□■□■00■
            //■□  □□□□□ □□ □■
            //■ ■□■□■□■ ■□■□■
            //■□□□□  □□□□□  ■
            //■□■ ■□■□■□■□■□■
            //■ □□□□□□□□□□□□■
            //■□■□■□■□■□■□■ ■
            //■□  □□□□□   □□■
            //■□■□■□■ ■□■□■□■
            //■□□□  □ □□□□□ ■
            //■P■ ■□■□■□■ ■ ■
            //■  □□□□   □□P ■
            //■■■■■■■■■■■■■■■


            var map = Utils.JsonToObject <MapData>(s);

            var internalMap = new InternalMapData(map);

            var moveDecider = new ActionDecider();

            Action m = moveDecider.NextMove(internalMap);

            Assert.AreNotEqual(MOVE.UP, m.Move);
        }
Esempio n. 2
0
        public void NextMoveTest8()
        {
            var s = "{\"turn\":186,\"walls\":[[0,0],[0,1],[0,2],[0,3],[0,4],[0,5],[0,6],[0,7],[0,8],[0,9],[0,10],[0,11],[0,12],[0,13],[0,14],[1,0],[1,14],[2,0],[2,2],[2,4],[2,6],[2,8],[2,10],[2,12],[2,14],[3,0],[3,14],[4,0],[4,2],[4,4],[4,6],[4,8],[4,10],[4,12],[4,14],[5,0],[5,14],[6,0],[6,2],[6,4],[6,6],[6,8],[6,10],[6,12],[6,14],[7,0],[7,14],[8,0],[8,2],[8,4],[8,6],[8,8],[8,10],[8,12],[8,14],[9,0],[9,14],[10,0],[10,2],[10,4],[10,6],[10,8],[10,10],[10,12],[10,14],[11,0],[11,14],[12,0],[12,2],[12,4],[12,6],[12,8],[12,10],[12,12],[12,14],[13,0],[13,14],[14,0],[14,1],[14,2],[14,3],[14,4],[14,5],[14,6],[14,7],[14,8],[14,9],[14,10],[14,11],[14,12],[14,13],[14,14]],\"blocks\":[[7,12],[5,3],[10,13],[3,10],[6,11],[12,7],[9,13],[8,5],[5,11],[4,3],[2,9],[7,5],[3,3],[6,5],[5,12],[10,7],[8,13],[13,9],[1,10],[7,6],[3,4],[9,7],[4,13],[5,5],[1,11],[9,8],[12,9],[5,6],[3,12],[8,7],[11,9],[1,4],[7,7],[3,13],[4,5],[11,10],[13,11],[7,8],[10,9],[3,6],[6,9],[9,10],[3,7],[5,8],[11,11],[2,7],[1,6],[5,9],[8,11],[5,2],[11,12],[1,7],[4,9],[7,10],[3,9],[12,5],[9,12],[13,7],[13,8],[4,11],[7,13],[2,3],[1,3],[6,13],[6,7],[9,9],[12,11],[8,9],[10,11],[3,8],[7,11]],\"players\":[{\"name\":\"敵\",\"pos\":{\"x\":1,\"y\":1},\"power\":2,\"setBombLimit\":2,\"ch\":\"敵\",\"isAlive\":true,\"setBombCount\":0,\"totalSetBombCount\":0,\"id\":0},{\"name\":\"敵\",\"pos\":{\"x\":1,\"y\":12},\"power\":2,\"setBombLimit\":2,\"ch\":\"敵\",\"isAlive\":true,\"setBombCount\":0,\"totalSetBombCount\":0,\"id\":1},{\"name\":\"泰\",\"pos\":{\"x\":12,\"y\":3},\"power\":2,\"setBombLimit\":2,\"ch\":\"泰\",\"isAlive\":true,\"setBombCount\":0,\"totalSetBombCount\":24,\"id\":2},{\"name\":\"あなた\",\"pos\":{\"x\":13,\"y\":13},\"power\":2,\"setBombLimit\":2,\"ch\":\"あ\",\"isAlive\":true,\"setBombCount\":0,\"totalSetBombCount\":0,\"id\":3}],\"bombs\":[],\"items\":[{\"pos\":{\"x\":11,\"y\":6},\"name\":\"力\"}],\"fires\":[]}";

            //■■■■■■■■■■■■■■■
            //■13121110090807060504030403■
            //■14■12■□■06■04■02■02■
            //■□□□□□0605040302010001■
            //■□■□■ ■06■04■02■02■
            //■   □□□□□050403□03■
            //■□■□■□■□■06■04■04■
            //■□□□  □□□□□05□□■
            //■ ■□■□■□■□■06■□■
            //■ □□□□□ □□□□□□■
            //■□■□■ ■□■□■□■ ■
            //■□  □□□□□ □□□□■
            //■P■□■□■□■□■□■ ■
            //■  □□ □□□□□  P■
            //■■■■■■■■■■■■■■■


            var map = Utils.JsonToObject <MapData>(s);

            var internalMap = new InternalMapData(map);

            var moveDecider = new ActionDecider();

            Action m = moveDecider.NextMove(internalMap);

            Assert.AreNotEqual(true, m.Bomb);
        }
Esempio n. 3
0
        public void NextMoveTest9()
        {
            var s = "{\"turn\":78,\"walls\":[[0,0],[0,1],[0,2],[0,3],[0,4],[0,5],[0,6],[0,7],[0,8],[0,9],[0,10],[0,11],[0,12],[0,13],[0,14],[1,0],[1,14],[2,0],[2,2],[2,4],[2,6],[2,8],[2,10],[2,12],[2,14],[3,0],[3,14],[4,0],[4,2],[4,4],[4,6],[4,8],[4,10],[4,12],[4,14],[5,0],[5,14],[6,0],[6,2],[6,4],[6,6],[6,8],[6,10],[6,12],[6,14],[7,0],[7,14],[8,0],[8,2],[8,4],[8,6],[8,8],[8,10],[8,12],[8,14],[9,0],[9,14],[10,0],[10,2],[10,4],[10,6],[10,8],[10,10],[10,12],[10,14],[11,0],[11,14],[12,0],[12,2],[12,4],[12,6],[12,8],[12,10],[12,12],[12,14],[13,0],[13,14],[14,0],[14,1],[14,2],[14,3],[14,4],[14,5],[14,6],[14,7],[14,8],[14,9],[14,10],[14,11],[14,12],[14,13],[14,14]],\"blocks\":[[4,5],[7,6],[10,7],[5,13],[10,1],[6,7],[4,13],[9,8],[2,5],[5,7],[11,2],[11,9],[13,3],[1,5],[11,10],[9,1],[8,9],[1,6],[4,7],[9,2],[7,8],[3,7],[11,4],[3,8],[6,9],[9,11],[8,3],[2,7],[7,3],[13,6],[5,10],[8,11],[13,7],[1,8],[4,9],[10,5],[7,11],[6,3],[9,5],[7,12],[12,7],[9,13],[3,10],[8,5],[6,11],[11,7],[7,5],[5,12],[8,13],[9,7],[12,9],[3,5],[5,6],[3,12],[8,7],[12,3],[3,6],[11,3],[7,9],[9,10],[7,2],[5,8],[13,5],[9,4],[5,9],[11,12],[1,7],[3,9],[11,6],[2,9]],\"players\":[{\"name\":\"泰\",\"pos\":{\"x\":2,\"y\":1},\"power\":2,\"setBombLimit\":2,\"ch\":\"泰\",\"isAlive\":true,\"setBombCount\":1,\"totalSetBombCount\":10,\"id\":0},{\"name\":\"∀\",\"pos\":{\"x\":3,\"y\":11},\"power\":2,\"setBombLimit\":2,\"ch\":\"∀\",\"isAlive\":true,\"setBombCount\":2,\"totalSetBombCount\":7,\"id\":1},{\"name\":\"丹\",\"pos\":{\"x\":13,\"y\":1},\"power\":2,\"setBombLimit\":2,\"ch\":\"墓\",\"isAlive\":false,\"setBombCount\":0,\"totalSetBombCount\":1,\"id\":2},{\"name\":\"な\",\"pos\":{\"x\":13,\"y\":13},\"power\":3,\"setBombLimit\":2,\"ch\":\"墓\",\"isAlive\":false,\"setBombCount\":0,\"totalSetBombCount\":5,\"id\":3}],\"bombs\":[{\"pos\":{\"x\":3,\"y\":3},\"timer\":1,\"power\":2},{\"pos\":{\"x\":2,\"y\":13},\"timer\":3,\"power\":2},{\"pos\":{\"x\":1,\"y\":10},\"timer\":7,\"power\":2}],\"items\":[{\"pos\":{\"x\":11,\"y\":1},\"name\":\"力\"},{\"pos\":{\"x\":13,\"y\":9},\"name\":\"力\"}],\"fires\":[]}";

            //■■■■■■■■■■■■■■■
            //■0100      □□* P■
            //■02■ ■ ■□■□■□■ ■
            //■0304B2  □□□  □□□■
            //■04■ ■ ■ ■□■□■ ■
            //■□□□□  □□□□  □■
            //■□■□■□■□■ ■□■□■
            //■□□□□□□ □□□□□□■
            //■□■□■□■□■□■ ■ ■
            //■ □□□□□□□  □□*■
            //■B2■□■□■ ■□■□■ ■
            //■  P  □□□□    ■
            //■ ■□■□■□■ ■□■ ■
            //■ B2 □□  □□   P■
            //■■■■■■■■■■■■■■■


            var map = Utils.JsonToObject <MapData>(s);

            var internalMap = new InternalMapData(map);

            var moveDecider = new ActionDecider();

            Action m = moveDecider.NextMove(internalMap);

            Assert.AreNotEqual(true, m.Bomb);
        }
Esempio n. 4
0
        public void NextMoveTest7()
        {
            var s = "{\"turn\":179,\"walls\":[[0,0],[0,1],[0,2],[0,3],[0,4],[0,5],[0,6],[0,7],[0,8],[0,9],[0,10],[0,11],[0,12],[0,13],[0,14],[1,0],[1,14],[2,0],[2,2],[2,4],[2,6],[2,8],[2,10],[2,12],[2,14],[3,0],[3,14],[4,0],[4,2],[4,4],[4,6],[4,8],[4,10],[4,12],[4,14],[5,0],[5,14],[6,0],[6,2],[6,4],[6,6],[6,8],[6,10],[6,12],[6,14],[7,0],[7,14],[8,0],[8,2],[8,4],[8,6],[8,8],[8,10],[8,12],[8,14],[9,0],[9,14],[10,0],[10,2],[10,4],[10,6],[10,8],[10,10],[10,12],[10,14],[11,0],[11,14],[12,0],[12,2],[12,4],[12,6],[12,8],[12,10],[12,12],[12,14],[13,0],[13,14],[14,0],[14,1],[14,2],[14,3],[14,4],[14,5],[14,6],[14,7],[14,8],[14,9],[14,10],[14,11],[14,12],[14,13],[14,14]],\"blocks\":[[6,7],[9,9],[2,5],[5,7],[13,4],[11,10],[6,1],[9,2],[11,11],[7,9],[10,11],[9,3],[9,10],[5,1],[8,3],[11,4],[4,1],[7,2],[3,1],[9,11],[10,5],[8,11],[13,6],[7,3],[6,3],[11,13],[5,10],[7,12],[13,7],[10,13],[9,5],[7,11],[12,7],[5,4],[8,5],[11,6],[4,3],[11,7],[9,13],[5,12],[1,3],[7,5],[10,7],[6,13],[3,4],[11,1],[13,9],[9,8],[12,9],[8,7],[13,10],[10,1],[13,3],[7,8],[12,3],[10,3],[9,4],[3,2],[5,3],[3,3],[6,5],[7,6],[9,7],[5,5],[9,1],[5,6],[11,9],[8,9]],\"players\":[{\"name\":\"敵\",\"pos\":{\"x\":1,\"y\":1},\"power\":2,\"setBombLimit\":2,\"ch\":\"敵\",\"isAlive\":true,\"setBombCount\":0,\"totalSetBombCount\":0,\"id\":0},{\"name\":\"泰\",\"pos\":{\"x\":2,\"y\":7},\"power\":3,\"setBombLimit\":2,\"ch\":\"泰\",\"isAlive\":true,\"setBombCount\":2,\"totalSetBombCount\":28,\"id\":1},{\"name\":\"あなた\",\"pos\":{\"x\":13,\"y\":1},\"power\":2,\"setBombLimit\":2,\"ch\":\"あ\",\"isAlive\":true,\"setBombCount\":0,\"totalSetBombCount\":0,\"id\":2},{\"name\":\"敵\",\"pos\":{\"x\":12,\"y\":13},\"power\":2,\"setBombLimit\":2,\"ch\":\"敵\",\"isAlive\":true,\"setBombCount\":0,\"totalSetBombCount\":0,\"id\":3}],\"bombs\":[{\"pos\":{\"x\":3,\"y\":10},\"timer\":1,\"power\":3},{\"pos\":{\"x\":1,\"y\":6},\"timer\":8,\"power\":3}],\"items\":[{\"pos\":{\"x\":4,\"y\":7},\"name\":\"力\"},{\"pos\":{\"x\":6,\"y\":9},\"name\":\"弾\"}],\"fires\":[]}";

            //■■■■■■■■■■■■■■■
            //■P □□□□  □□□ P■
            //■ ■□■ ■□■□■ ■ ■
            //■□ □□□□□□□□ □□■
            //■ ■□■□■ ■□■□■□■
            //■ □0304□□□□□□   ■
            //■B3■02■□■□■ ■□■□■
            //■01000102□□ □□□□□□■
            //■02■02■06■□■□■ ■ ■
            //■030403040506□□□ □□□■
            //■04■B3■□■ ■□■□■□■
            //■050607080910□□□□□  ■
            //■06■08■□■□■ ■ ■ ■
            //■0708091011□  □□□P ■
            //■■■■■■■■■■■■■■■


            var map = Utils.JsonToObject <MapData>(s);

            var internalMap = new InternalMapData(map);

            var moveDecider = new ActionDecider();

            Action m = moveDecider.NextMove(internalMap);

            Assert.AreNotEqual(MOVE.RIGHT, m.Move);
        }