Skip to content

Instantly share code, notes, and snippets.

@godrm
Created October 12, 2018 05:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save godrm/eb4688e166077122dc512b02c1a93c74 to your computer and use it in GitHub Desktop.
Save godrm/eb4688e166077122dc512b02c1a93c74 to your computer and use it in GitHub Desktop.
//
// 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