' Visual Basic 2008 9.0 .NET Examples - Implementation - Object Oriented Programming : Namespace Exercise4 Class Robot Private m_X As Integer Public ReadOnly Property X() As Integer Get X = m_X End Get End Property Private m_Y As Integer Public ReadOnly Property Y() As Integer Get Y = m_Y End Get End Property Private m_Direction As Integer Public Sub Rotate() m_Direction += 1 If m_Direction > 3 Then m_Direction = 0 End Sub Public Sub PlaceStep() Select Case m_Direction Case 0 ' up m_Y += 1 Case 1 ' right m_X += 1 Case 2 ' down m_Y -= 1 Case 3 ' left m_X -= 1 End Select End Sub End Class Module RobotTestFixture Public Sub Main() Dim robot1 As Robot = New Robot Console.WriteLine(robot1.X = 0) Console.WriteLine(robot1.Y = 0) ' robot1.PlaceStep() Console.WriteLine(robot1.X = 0) Console.WriteLine(robot1.Y = 1) ' robot1.PlaceStep() Console.WriteLine(robot1.X = 0) Console.WriteLine(robot1.Y = 2) ' robot1.Rotate() Console.WriteLine(robot1.X = 0) Console.WriteLine(robot1.Y = 2) ' robot1.PlaceStep() Console.WriteLine(robot1.X = 1) Console.WriteLine(robot1.Y = 2) ' robot1.Rotate() robot1.PlaceStep() Console.WriteLine(robot1.X = 1) Console.WriteLine(robot1.Y = 1) ' robot1.Rotate() robot1.PlaceStep() Console.WriteLine(robot1.X = 0) Console.WriteLine(robot1.Y = 1) ' robot1.Rotate() robot1.PlaceStep() Console.WriteLine(robot1.X = 0) Console.WriteLine(robot1.Y = 2) ' Console.ReadLine() End Sub End Module End Namespace ' Visit www.studyvb.com for more examples. Copyright 2003-2008 De Wolf.