Robot.kt 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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. // какие-то новые данные
  18. // какие-то новые данные
  19. // какие-то новые данные
  20. // какие-то новые данные
  21. // какие-то новые данные
  22. // какие-то новые данные
  23. // какие-то новые данные
  24. public fun GetDirection() : Direction
  25. {
  26. return direction;
  27. }
  28. public fun GetX() : Int
  29. {
  30. return x;
  31. }
  32. public fun GetY() : Int
  33. {
  34. return y;
  35. }
  36. public fun TurnLeft()
  37. {
  38. when(direction){
  39. Direction.Right -> direction = Direction.Up
  40. Direction.Left -> direction = Direction.Down
  41. Direction.Up -> direction = Direction.Left
  42. Direction.Down -> direction = Direction.Right
  43. }
  44. }
  45. public fun TurnRight()
  46. {
  47. when(direction){
  48. Direction.Right -> direction = Direction.Down
  49. Direction.Left -> direction = Direction.Up
  50. Direction.Up -> direction = Direction.Right
  51. Direction.Down -> direction = Direction.Left
  52. }
  53. }
  54. override fun toString(): String {
  55. return "(${x}, ${y}), looks ${direction}"
  56. }
  57. }