import Foundation enum Zundoko: CustomStringConvertible { case Start indirect case Zun(Zundoko) indirect case Doko(Zundoko) indirect case Kiyoshi(Zundoko) var description: String { switch self { case Start: return "スタート!" case Zun(let zd): return "\(zd)\nズン" case Doko(let zd): return "\(zd)\nドコ" case Kiyoshi(let zd): return "\(zd)\nキ・ヨ・シ!" } } func zundoko() -> Zundoko { return (arc4random_uniform