Created
October 12, 2018 05:28
-
-
Save godrm/eb4688e166077122dc512b02c1a93c74 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// main.swift | |
// HugeLadderGame | |
// | |
// Created by JK on 21/08/2018. | |
// Copyright © 2018 codesquad. All rights reserved. | |
// | |
import Foundation | |
extension String { | |
func splitByComma() -> [String] { | |
return self.split(separator: ",").map{String($0)} | |
} | |
} | |
struct InputView { | |
static private func readInput(ment: String) -> String { | |
print(ment) | |
return readLine() ?? "" | |
} | |
static func readHeight() -> Int { | |
let height = readInput(ment: "사다리 높이를 입력해주세요.") | |
return Int(height) ?? 0 | |
} | |
static private func readPlayerName() -> String { | |
let players = readInput(ment: "참여할 사람 이름을 입력하세요") | |
return players | |
} | |
static func readPlayerNames() -> [String] { | |
let players = readPlayerName() | |
return players.splitByComma() | |
} | |
} | |
struct LadderPlayer { | |
private var name : String | |
init(name: String) { | |
self.name = name | |
} | |
func isEqualName(player: LadderPlayer) -> Bool { | |
return self.name == player.name | |
} | |
} | |
var player1 = LadderPlayer.init(name: "jk") | |
var player2 = LadderPlayer.init(name: "jk") | |
if player1.isEqualName(player:player2) { | |
} | |
else { | |
} | |
struct LadderPlayers { | |
private var players = [String]() | |
} | |
class CommonPlayer { | |
func makeLadder() { | |
print("common") | |
} | |
} | |
class JK : CommonPlayer { | |
override func makeLadder() { | |
super.makeLadder() | |
print("JK") | |
} | |
} | |
class CRONG : CommonPlayer { | |
override func makeLadder() { | |
print("CRONG") | |
} | |
} | |
var players = [CommonPlayer]() | |
//players.append(JK(), CRONG(), CommonPlayer()) | |
players[0].makeLadder() | |
protocol LadderInterface { | |
func makeLadder() | |
} | |
struct JKStruct : LadderInterface { | |
func makeLadder() { | |
// | |
} | |
} | |
struct OutputView { | |
private var game : OutputProtocol | |
init(game: OutputProtocol) { | |
self.game = game | |
} | |
func displayResult() { | |
// if let name = game.nextName() { | |
// | |
// } | |
// | |
} | |
} | |
struct DTO { | |
var names : [String] | |
} | |
protocol OutputProtocol { | |
func getDTO() -> DTO | |
// func nextName() -> String? | |
} | |
struct LadderGame : OutputProtocol { | |
func getDTO() -> DTO { | |
return DTO(names: [""] ) | |
} | |
} | |
struct LadderGameMock : OutputProtocol { | |
func getDTO() -> DTO { | |
return DTO(names: [""] ) | |
} | |
} | |
func main() { | |
let game = LadderGame() | |
let gameMock = LadderGameMock() | |
let output = OutputView(game: gameMock) | |
output.displayResult() | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment