Exemple #1
0
        private static void turnRight(RotationKeys rotationKey)
        {
            RobotEntity robotEntity = RobotEntity.getInstance();

            switch (robotEntity.Direction)
            {
            case Directions.EAST:
                robotEntity.Direction = Directions.SOUTH;
                break;

            case Directions.NORTH:
                robotEntity.Direction = Directions.EAST;
                break;

            case Directions.SOUTH:
                robotEntity.Direction = Directions.WEST;
                break;

            case Directions.WEST:
                robotEntity.Direction = Directions.NORTH;
                break;

            default:
                break;
            }
        }
    public void Execute(RobotEntity entity)
    {
        entity.MoveForward();

        if (Vector3.Distance(startPos, entity.transform.position) >= distance)
        {
            entity.SetExecuter(ParseExecuter.instance);
        }
    }
            public RobotEntity(SceneNode parentNode, SceneManager parentSceneManager)
            {
                _parentSceneManager = parentSceneManager;
                _parentNode         = parentNode;
                _nodeName           = _rootNodeName + RobotEntity.__currentId;
                _name = _rootName + RobotEntity.__currentId;

                RobotEntity.IncrementCurrentId();
                InitializeNode();
            }
            public RobotEntity(SceneNode parentNode, SceneManager parentSceneManager, Vector3 vector)
            {
                _parentSceneManager = parentSceneManager;
                _parentNode         = parentNode;
                _nodeName           = _rootNodeName + RobotEntity.__currentId;
                _name = _rootName + RobotEntity.__currentId;

                RobotEntity.IncrementCurrentId();
                InitializeNode();

                this.Node.Translate(vector);
            }
Exemple #5
0
        private static void goStraight()
        {
            RobotEntity robotEntity = RobotEntity.getInstance();
            AreaEntity  areaEntity  = AreaEntity.getInstance();

            areaEntity.buttons[robotEntity.X][robotEntity.Y].Text      = "";
            areaEntity.buttons[robotEntity.X][robotEntity.Y].BackColor = Color.White;
            areaEntity.buttons[robotEntity.X][robotEntity.Y].Update();
            switch (robotEntity.Direction)
            {
            case Directions.EAST:
                robotEntity.X++;
                break;

            case Directions.NORTH:
                robotEntity.Y--;
                break;

            case Directions.SOUTH:
                robotEntity.Y++;
                break;

            case Directions.WEST:
                robotEntity.X--;
                break;

            default:
                break;
            }

            if (robotEntity.X < 0 || robotEntity.Y < 0 || areaEntity.ySize < robotEntity.Y || areaEntity.xSize < robotEntity.X)
            {
                throw new Exception($"Alanın dışına çıkıldı.");
            }
            areaEntity.buttons[robotEntity.X][robotEntity.Y].Text      = robotEntity.Direction.ToString();
            areaEntity.buttons[robotEntity.X][robotEntity.Y].BackColor = Color.Red;
            areaEntity.buttons[robotEntity.X][robotEntity.Y].Update();
            System.Threading.Thread.Sleep(1000);
        }
 public void Initiate(RobotEntity entity)
 {
     startPos            = entity.transform.position;
     entity.OnCollision += () => entity.SetExecuter(ParseExecuter.instance);
 }