Robot.kt 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. enum class Direction{
  2. Up,Down,Left,Right
  3. }
  4. class Robot(var x: Int, var y: Int, var direction: Direction) {
  5. // public void turnLeft() {
  6. // // повернуться на 90 градусов против часовой стрелки
  7. //}
  8. //
  9. // public void turnRight() {
  10. // // повернуться на 90 градусов по часовой стрелке
  11. // }
  12. //
  13. // public void stepForward() {
  14. // // шаг в направлении взгляда
  15. // // за один шаг робот изменяет одну свою координату на единицу
  16. // }
  17. public fun GetDirection() : Direction
  18. {
  19. return direction;
  20. }
  21. public fun GetX() : Int
  22. {
  23. return x;
  24. }
  25. public fun GetY() : Int
  26. {
  27. return y;
  28. }
  29. public fun TurnLeft()
  30. {
  31. when(direction){
  32. Direction.Right -> direction = Direction.Up
  33. Direction.Left -> direction = Direction.Down
  34. Direction.Up -> direction = Direction.Left
  35. Direction.Down -> direction = Direction.Right
  36. }
  37. }
  38. public fun TurnRight()
  39. {
  40. when(direction){
  41. Direction.Right -> direction = Direction.Down
  42. Direction.Left -> direction = Direction.Up
  43. Direction.Up -> direction = Direction.Right
  44. Direction.Down -> direction = Direction.Left
  45. }
  46. }
  47. override fun toString(): String {
  48. return "(${x}, ${y}), looks ${direction}"
  49. }
  50. }