Esempio n. 1
0
        public void SetTileIndicesGivenObs(JsonObservations observations)
        {
            if (observations.level0.Count == 0)
            {
                throw new IndexOutOfRangeException();
            }

            int yaw = (int)YawBetweenZeroAndThreeSixty(observations.Yaw);

            level0.ahead      = observations.level0[indicesGivenYaw[yaw][0]];
            level0.left       = observations.level0[indicesGivenYaw[yaw][1]];
            level0.right      = observations.level0[indicesGivenYaw[yaw][2]];
            level0.back       = observations.level0[indicesGivenYaw[yaw][3]];
            level0.frontLeft  = observations.level0[indicesGivenYaw[yaw][4]];
            level0.frontRight = observations.level0[indicesGivenYaw[yaw][5]];
            level0.backLeft   = observations.level0[indicesGivenYaw[yaw][6]];
            level0.backRight  = observations.level0[indicesGivenYaw[yaw][7]];

            levelSub1.ahead      = observations.levelSub1[indicesGivenYaw[yaw][0]];
            levelSub1.left       = observations.levelSub1[indicesGivenYaw[yaw][1]];
            levelSub1.right      = observations.levelSub1[indicesGivenYaw[yaw][2]];
            levelSub1.back       = observations.levelSub1[indicesGivenYaw[yaw][3]];
            levelSub1.frontLeft  = observations.levelSub1[indicesGivenYaw[yaw][4]];
            levelSub1.frontRight = observations.levelSub1[indicesGivenYaw[yaw][5]];
            levelSub1.backLeft   = observations.levelSub1[indicesGivenYaw[yaw][6]];
            levelSub1.backRight  = observations.levelSub1[indicesGivenYaw[yaw][7]];

            levelSub2.ahead      = observations.levelSub2[indicesGivenYaw[yaw][0]];
            levelSub2.left       = observations.levelSub2[indicesGivenYaw[yaw][1]];
            levelSub2.right      = observations.levelSub2[indicesGivenYaw[yaw][2]];
            levelSub2.back       = observations.levelSub2[indicesGivenYaw[yaw][3]];
            levelSub2.frontLeft  = observations.levelSub2[indicesGivenYaw[yaw][4]];
            levelSub2.frontRight = observations.levelSub2[indicesGivenYaw[yaw][5]];
            levelSub2.backLeft   = observations.levelSub2[indicesGivenYaw[yaw][6]];
            levelSub2.backRight  = observations.levelSub2[indicesGivenYaw[yaw][7]];
        }
Esempio n. 2
0
        // Yes, this has got a bit out of hand...
        public void SetTileIndicesGivenObs(JsonObservations observations)
        {
            if (observations.level0.Count == 0)
            {
                System.Diagnostics.Debug.WriteLine("here we are at the exception");
                throw new IndexOutOfRangeException();
            }

            int yaw = (int)YawBetweenZeroAndThreeSixty(observations.Yaw);

            level0.farAhead      = observations.level0[indicesGivenYaw[yaw][0]];
            level0.ahead         = observations.level0[indicesGivenYaw[yaw][1]];
            level0.farLeft       = observations.level0[indicesGivenYaw[yaw][2]];
            level0.left          = observations.level0[indicesGivenYaw[yaw][3]];
            level0.right         = observations.level0[indicesGivenYaw[yaw][4]];
            level0.farRight      = observations.level0[indicesGivenYaw[yaw][5]];
            level0.back          = observations.level0[indicesGivenYaw[yaw][6]];
            level0.farBack       = observations.level0[indicesGivenYaw[yaw][7]];
            level0.aheadLeft     = observations.level0[indicesGivenYaw[yaw][8]];
            level0.aheadRight    = observations.level0[indicesGivenYaw[yaw][9]];
            level0.backLeft      = observations.level0[indicesGivenYaw[yaw][10]];
            level0.backRight     = observations.level0[indicesGivenYaw[yaw][11]];
            level0.farAheadLeft  = observations.level0[indicesGivenYaw[yaw][12]];
            level0.farAheadRight = observations.level0[indicesGivenYaw[yaw][13]];
            level0.farBackLeft   = observations.level0[indicesGivenYaw[yaw][14]];
            level0.farBackRight  = observations.level0[indicesGivenYaw[yaw][15]];

            levelSub1.farAhead      = observations.levelSub1[indicesGivenYaw[yaw][0]];
            levelSub1.ahead         = observations.levelSub1[indicesGivenYaw[yaw][1]];
            levelSub1.farLeft       = observations.levelSub1[indicesGivenYaw[yaw][2]];
            levelSub1.left          = observations.levelSub1[indicesGivenYaw[yaw][3]];
            levelSub1.right         = observations.levelSub1[indicesGivenYaw[yaw][4]];
            levelSub1.farRight      = observations.levelSub1[indicesGivenYaw[yaw][5]];
            levelSub1.back          = observations.levelSub1[indicesGivenYaw[yaw][6]];
            levelSub1.farBack       = observations.levelSub1[indicesGivenYaw[yaw][7]];
            levelSub1.aheadLeft     = observations.levelSub1[indicesGivenYaw[yaw][8]];
            levelSub1.aheadRight    = observations.levelSub1[indicesGivenYaw[yaw][9]];
            levelSub1.backLeft      = observations.levelSub1[indicesGivenYaw[yaw][10]];
            levelSub1.backRight     = observations.levelSub1[indicesGivenYaw[yaw][11]];
            levelSub1.farAheadLeft  = observations.levelSub1[indicesGivenYaw[yaw][12]];
            levelSub1.farAheadRight = observations.levelSub1[indicesGivenYaw[yaw][13]];
            levelSub1.farBackLeft   = observations.levelSub1[indicesGivenYaw[yaw][14]];
            levelSub1.farBackRight  = observations.levelSub1[indicesGivenYaw[yaw][15]];

            levelSub2.farAhead      = observations.levelSub2[indicesGivenYaw[yaw][0]];
            levelSub2.ahead         = observations.levelSub2[indicesGivenYaw[yaw][1]];
            levelSub2.farLeft       = observations.levelSub2[indicesGivenYaw[yaw][2]];
            levelSub2.left          = observations.levelSub2[indicesGivenYaw[yaw][3]];
            levelSub2.right         = observations.levelSub2[indicesGivenYaw[yaw][4]];
            levelSub2.farRight      = observations.levelSub2[indicesGivenYaw[yaw][5]];
            levelSub2.back          = observations.levelSub2[indicesGivenYaw[yaw][6]];
            levelSub2.farBack       = observations.levelSub2[indicesGivenYaw[yaw][7]];
            levelSub2.aheadLeft     = observations.levelSub2[indicesGivenYaw[yaw][8]];
            levelSub2.aheadRight    = observations.levelSub2[indicesGivenYaw[yaw][9]];
            levelSub2.backLeft      = observations.levelSub2[indicesGivenYaw[yaw][10]];
            levelSub2.backRight     = observations.levelSub2[indicesGivenYaw[yaw][11]];
            levelSub2.farAheadLeft  = observations.levelSub2[indicesGivenYaw[yaw][12]];
            levelSub2.farAheadRight = observations.levelSub2[indicesGivenYaw[yaw][13]];
            levelSub2.farBackLeft   = observations.levelSub2[indicesGivenYaw[yaw][14]];
            levelSub2.farBackRight  = observations.levelSub2[indicesGivenYaw[yaw][15]];
        }