Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

iOS Swift 2.0 Enumerations and Optionals Introduction to Enumerations Enums and Objects

Sheng Wei
Sheng Wei
4,382 Points

[Help!] Spot my simple error in this Enum Challenge

Im not sure why the engine is rejecting my answer(I even tried copy pasting another previous persons' answer)...any idea what is wrong? Thanks

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

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

enum Direction {
    case Left 
    case Right
    case Up
    case Down
}


class Robot {
    var location: Point

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


     func move(direction: Direction) {
        switch direction {
        case Direction.Up: location.y + 1
        break
        case Direction.Down: location.y - 1
        break
        case Direction.Right: location.x + 1
        break
        case Direction.Left: location.x - 1
        break
       }
    }
}   
Ollie King
Ollie King
10,194 Points

Hi Sheng Wei,

You're very close! Try the following under where you type in your own code:

    switch direction {
    case .Left : location.x -= 1
    case .Right : location.x += 1
    case .Up : location.y += 1
    case .Down : location.y -= 1
    }
}

} //Make sure you have a third curly brace as this closes off all the code

Hope this helps :)

2 Answers

Cindy Lea
PLUS
Cindy Lea
Courses Plus Student 6,497 Points

One thing I noticed is you have 3 curly braces at the end & in the challenge theres only 2. You have the same number of functions, so is this an extra one?

Sheng Wei
Sheng Wei
4,382 Points

Nope haha, the 3rd bracket is for the robot class!

Alexander Smith
Alexander Smith
10,476 Points

Try using a super class with your Robot class. Like this class Robot: Point { Then add in your init }

Sheng Wei
Sheng Wei
4,382 Points

Unfortunately, the Robot class was specified in the challenge and can't be changed :/