Esempio n. 1
0
        public CState(IAPI Api)
        {
            API = Api;

            MapWidthVal = API.getMaxX() - API.getMinX() + 1;
            MapHeightVal = API.getMaxY() - API.getMinY() + 1;

            Map = new CMap(MapWidthVal, MapHeightVal, API.endAfterTime());

            Map.ReadMap(API);

            MyHealth = API.myHealth();
            MyPoints = API.myPoints();

            MyCoord.Set(API.getCoordOfMe());

            PredStep.Set(Steps.STEP, MyCoord);
        }
Esempio n. 2
0
        public void ReadMap(IAPI api)
        {
            CCoord coord = new CCoord();
            for (int x = 0; x < Width; x++)
                for (int y = 0; y < Height; y++)
                {
                    coord.Set(x, y);
                    this[x, y] = api.getTypeOfField(coord);
                }

            if (!MyCoord.EqualsXY(api.getCoordOfMe().X0, api.getCoordOfMe().Y0))
                throw new Exception("Ошибка в API. Несоответствие данных");

            CorrectEndTimeout(api.endAfterTime());
        }