コード例 #1
0
ファイル: Forward.cs プロジェクト: tvn-cosine/aima.net
        /**
         * Constructor.
         *
         * @param currentPosition
         *
         */
        public Forward(AgentPosition currentPosition)
            : base(FORWARD_ACTION_NAME)
        {
            int x = currentPosition.getX();
            int y = currentPosition.getY();

            AgentPosition.Orientation orientation = currentPosition.getOrientation();
            if (orientation.Equals(AgentPosition.Orientation.FACING_NORTH))
            {
                toPosition = new AgentPosition(x, y + 1, orientation);
            }
            else if (orientation.Equals(AgentPosition.Orientation.FACING_SOUTH))
            {
                toPosition = new AgentPosition(x, y - 1, orientation);
            }
            else if (orientation.Equals(AgentPosition.Orientation.FACING_EAST))
            {
                toPosition = new AgentPosition(x + 1, y, orientation);
            }
            else if (orientation.Equals(AgentPosition.Orientation.FACING_WEST))
            {
                toPosition = new AgentPosition(x - 1, y, orientation);
            }
            SetAttribute(ATTRIBUTE_TO_POSITION, toPosition);
        }
コード例 #2
0
ファイル: TurnLeft.cs プロジェクト: tvn-cosine/aima.net
 /**
  * Constructor.
  *
  * @param currentOrientation
  */
 public TurnLeft(AgentPosition.Orientation currentOrientation)
     : base(TURN_LEFT_ACTION_NAME)
 {
     if (currentOrientation.Equals(AgentPosition.Orientation.FACING_NORTH))
     {
         toOrientation = AgentPosition.Orientation.FACING_WEST;
     }
     else if (currentOrientation.Equals(AgentPosition.Orientation.FACING_SOUTH))
     {
         toOrientation = AgentPosition.Orientation.FACING_EAST;
     }
     else if (currentOrientation.Equals(AgentPosition.Orientation.FACING_EAST))
     {
         toOrientation = AgentPosition.Orientation.FACING_NORTH;
     }
     else if (currentOrientation.Equals(AgentPosition.Orientation.FACING_WEST))
     {
         toOrientation = AgentPosition.Orientation.FACING_SOUTH;
     }
     SetAttribute(ATTRIBUTE_TO_ORIENTATION, toOrientation);
 }