iOS Build a Simple iPhone App with Swift Getting Started with iOS Development Swift Recap Part 2

Mohib Shah
Mohib Shah
1,218 Points

I'm guessing its a bug or something with tree house but it is telling for the "up" case up increase by 1

I'm guessing its a bug or something with tree house but it is telling for the "up" case the location property y must increase by 1, but that is what I did

robots.swift
class Point {
  var x: Int
  var y: Int

  init(x: Int, y: Int) {
    self.x = x
    self.y = y
  }
}

class Machine {
  var location: Point

  init() {
    self.location = Point(x: 0, y: 0)
  }

  func move(_ direction: String) {
    print("Do nothing! I am a machine!")
  }
}

class Robot: Machine{


    override func move(_ direction: String) {
        switch direction{

        case "up": location.y += 1
        case "down": location.y -= 1
        case "left": location.x += 1
        case "right": location.x += 1

        default: break



        }
    }


}

1 Answer

andren
andren
23,108 Points

Remember that Swift is case sensitive, "Up" and "up" are not the same string. You have to capitalize all of the directions. And also fix the "Left" case where you currently add to x instead of decrease it.

Like this:

class Point {
  var x: Int
  var y: Int

  init(x: Int, y: Int) {
    self.x = x
    self.y = y
  }
}

class Machine {
  var location: Point

  init() {
    self.location = Point(x: 0, y: 0)
  }

  func move(_ direction: String) {
    print("Do nothing! I am a machine!")
  }
}

class Robot: Machine{


    override func move(_ direction: String) {
        switch direction{

        case "Up": location.y += 1
        case "Down": location.y -= 1
        case "Left": location.x -= 1
        case "Right": location.x += 1

        default: break
        }
    }
}