Thursday, August 8, 2013

Calling objects, methods and properties from one class and dispalying them with information in another

Calling objects, methods and properties from one class and dispalying them
with information in another

I have a class called BaseRobot. Containing the following code:
{
//=== Defines the possible orientation of the robot.
//=== Note the order is important to allow cycling to be performed in a
meaningful manner.
public enum Compass
{
North, East, South, West
};
//=== The basic robot.
public class BaseRobot { //--- The behaviour properties that were
identified, together with associated state. //--- The robot identification
number. private int mId; public int id { get { return mId; } }
//--- the direction in which the robot is currently facing.
private Compass mOrientation;
public Compass Orientation
{
get { return mOrientation; }
set { mOrientation = value; }
}
//--- The robot's current position.
private Point mPosition;
public Point Position
{
get { return mPosition; }
}
//--- the robot's home position, where it was originally created.
public Point mHome;
public Point Home
{
get { return mHome; }
}
//--- Turn the orientation left (anti-clockwise) or right (clockwise).
//--- Implementation relies on the N, E, S, W ordering of the
enumeration values to allow the arithmetic to work.
public void TurnLeft()
{
--mOrientation;
if (mOrientation < 0) mOrientation = Compass.West;
} // end turnLeft method.
public void TurnRight()
{
mOrientation = (Compass)(((int)mOrientation + 1) % 4);
} // end turnRight method.
//--- Move one unit forward in the current orientation.
public void Move()
{
switch (mOrientation)
{
case Compass.North: mPosition.Y++; break;
case Compass.East: mPosition.X++; break;
case Compass.South: mPosition.Y--; break;
case Compass.West: mPosition.X--; break;
}
} // end Move method.
//--- Constructor methods.
public BaseRobot(int aId)
{
mId = aId;
mHome.X = 0;
mHome = new Point(0, 0);
mPosition = mHome;
}
public BaseRobot(int aId, int aX, int aY)
{
mId = aId;
mHome = new Point(aX, aY);
mPosition = mHome;
} // end BaseRobot constructor methods.
}
}
In the program class, i am looking to call the objects, methods and
properties from this code to display information regrading the robot's
status, such as robot home, orientation and position. I am looking for the
console to display something like this:
Robot has home at <0,0> It is facing North and is currently at <0,0>
Any ideas of how i can achieve this?

No comments:

Post a Comment