Beispiel #1
0
        public SimpleRobot(UniversalMap_Wpf _map, RobotMap _cMap, int _x, int _y, int _hp = 20)
        {
            map  = _map;
            cMap = _cMap;
            X    = _x;
            Y    = _y;
            HP   = _hp;
            IsOk = true;

            rules.Add(' ', new List <RobotAction> {
                new RobotAction(RobotCommands.Move)
            });
            rules.Add('r', new List <RobotAction> {
                new RobotAction(RobotCommands.Move)
            });
            rules.Add('*', new List <RobotAction> {
                new RobotAction(RobotCommands.Destroy)
            });
            rules.Add('e', new List <RobotAction> {
                new RobotAction(RobotCommands.Move),
                new RobotAction(RobotCommands.Win)
            });

            DrawCircle(X, Y, Brushes.Magenta);
        }
Beispiel #2
0
        static public RobotQuestMap GetQuest(Window w, string name)
        {
            var map = MapCreator.GetUniversalMap(w, GetMapParams(name));

            map.DrawGrid();
            var lay = LayoutsFactory.GetLayout(LayoutType.SingleZone, w.Content);

            lay.Attach(map, 0);


            RobotQuestMap qMap = null;
            RobotMap      rMap;
            SimpleRobot   rBot;
            Coordinate    c;

            switch (name)
            {
            case "task1":
                rMap = new RobotMap(map);
                rMap.SetExit(ExitPlacement.Fixed);
                c = rMap.SetRobot(RobotPlacement.Random);
                rMap.PlaceObstacles(ObstaclesFormation.SeparatedBlocks);
                rBot = new SimpleRobot(map, rMap, c);
                qMap = new RobotQuestMap(map, rMap, rBot);
                break;

            case "task2":
                rMap = new RobotMap(map);
                rMap.SetExit(ExitPlacement.RandomCorner);
                c = rMap.SetRobot(RobotPlacement.Random);
                rMap.PlaceObstacles(ObstaclesFormation.SeparatedBlocks);
                rBot = new SimpleRobot(map, rMap, c);
                qMap = new RobotQuestMap(map, rMap, rBot);
                break;
            }
            return(qMap);
        }
Beispiel #3
0
 public RobotQuestMap(UniversalMap_Wpf wMap, RobotMap _rMap, SimpleRobot _rBot)
 {
     rBot = _rBot;
     rMap = _rMap;
     wMap.Keyboard.SetSingleKeyEventHandler(Launcher);
 }
Beispiel #4
0
 public SimpleRobot(UniversalMap_Wpf _map, RobotMap _cMap, Coordinate c, int _hp = 20) :
     this(_map, _cMap, c.X, c.Y, _hp)
 {
 }