'Visual Basic 2010 Containment Object Oriented Programming Class Robot Private m_Position As Position = New Position Public ReadOnly Property Position() As Position Get Position = m_Position 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 Position.Y = Position.Y + 1 Case 1 ' right Position.X = Position.X + 1 Case 2 ' down Position.Y = Position.Y - 1 Case 3 ' left Position.X = Position.X - 1 End Select End Sub End Class Module RobotTestFixture Public Sub Main() Dim robot1 As Robot = New Robot Console.WriteLine(robot1.Position IsNot Nothing) Console.WriteLine(robot1.Position.X = 0) Console.WriteLine(robot1.Position.Y = 0) ' robot1.PlaceStep() Console.WriteLine(robot1.Position IsNot Nothing) Console.WriteLine(robot1.Position.X = 0) Console.WriteLine(robot1.Position.Y = 1) ' robot1.PlaceStep() Console.WriteLine(robot1.Position IsNot Nothing) Console.WriteLine(robot1.Position.X = 0) Console.WriteLine(robot1.Position.Y = 2) ' robot1.Rotate() Console.WriteLine(robot1.Position IsNot Nothing) Console.WriteLine(robot1.Position.X = 0) Console.WriteLine(robot1.Position.Y = 2) ' robot1.PlaceStep() Console.WriteLine(robot1.Position IsNot Nothing) Console.WriteLine(robot1.Position.X = 1) Console.WriteLine(robot1.Position.Y = 2) ' robot1.Rotate() robot1.PlaceStep() Console.WriteLine(robot1.Position IsNot Nothing) Console.WriteLine(robot1.Position.X = 1) Console.WriteLine(robot1.Position.Y = 1) ' robot1.Rotate() robot1.PlaceStep() Console.WriteLine(robot1.Position IsNot Nothing) Console.WriteLine(robot1.Position.X = 0) Console.WriteLine(robot1.Position.Y = 1) ' robot1.Rotate() robot1.PlaceStep() Console.WriteLine(robot1.Position IsNot Nothing) Console.WriteLine(robot1.Position.X = 0) Console.WriteLine(robot1.Position.Y = 2) ' Console.ReadLine() End Sub End Module 'Bezoek www.vbvoorbeelden.be voor meer Visual Basic voorbeelden. 'Copyright - De Wolf / vbvoorbeelden - 2003-2011 - Alle rechten voorbehouden.