From e17d06cbdd0eae3fcc193c345f787a28cb031cea Mon Sep 17 00:00:00 2001 From: Guillermo Ramos Date: Sun, 6 May 2012 14:40:34 +0200 Subject: [Scala] Día 1 --- scala/compass.scala | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 scala/compass.scala (limited to 'scala/compass.scala') diff --git a/scala/compass.scala b/scala/compass.scala new file mode 100644 index 0000000..cd3af78 --- /dev/null +++ b/scala/compass.scala @@ -0,0 +1,33 @@ +class Compass { + val directions = List("north", "east", "south", "west") + var bearing = 0 + + print("Initial bearing: ") + println(direction) + + def direction() = directions(bearing) + def inform(turnDirection : String) { + println("Turning " + turnDirection + ". Now bearing " + direction) + } + + def turnRight() { + bearing = (bearing + 1) % directions.size + inform("right") + } + + def turnLeft() { + bearing = (bearing + (directions.size - 1)) % directions.size + inform("left") + } +} + +val myCompass = new Compass + +myCompass.turnRight +myCompass.turnRight + +myCompass.turnLeft +myCompass.turnLeft +myCompass.turnLeft +myCompass.turnLeft +myCompass.turnLeft -- cgit v1.2.3