|
@@ -0,0 +1,56 @@
|
|
|
|
+enum class Direction{
|
|
|
|
+ Up,Down,Left,Right
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+class Robot(var x: Int, var y: Int, var direction: Direction) {
|
|
|
|
+ // public void turnLeft() {
|
|
|
|
+// // повернуться на 90 градусов против часовой стрелки
|
|
|
|
+//}
|
|
|
|
+//
|
|
|
|
+// public void turnRight() {
|
|
|
|
+// // повернуться на 90 градусов по часовой стрелке
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// public void stepForward() {
|
|
|
|
+// // шаг в направлении взгляда
|
|
|
|
+// // за один шаг робот изменяет одну свою координату на единицу
|
|
|
|
+// }
|
|
|
|
+ public fun GetDirection() : Direction
|
|
|
|
+ {
|
|
|
|
+ return direction;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public fun GetX() : Int
|
|
|
|
+ {
|
|
|
|
+ return x;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public fun GetY() : Int
|
|
|
|
+ {
|
|
|
|
+ return y;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public fun TurnLeft()
|
|
|
|
+ {
|
|
|
|
+ when(direction){
|
|
|
|
+ Direction.Right -> direction = Direction.Up
|
|
|
|
+ Direction.Left -> direction = Direction.Down
|
|
|
|
+ Direction.Up -> direction = Direction.Left
|
|
|
|
+ Direction.Down -> direction = Direction.Right
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public fun TurnRight()
|
|
|
|
+ {
|
|
|
|
+ when(direction){
|
|
|
|
+ Direction.Right -> direction = Direction.Down
|
|
|
|
+ Direction.Left -> direction = Direction.Up
|
|
|
|
+ Direction.Up -> direction = Direction.Right
|
|
|
|
+ Direction.Down -> direction = Direction.Left
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ override fun toString(): String {
|
|
|
|
+ return "(${x}, ${y}), looks ${direction}"
|
|
|
|
+ }
|
|
|
|
+}
|