From e7d1ffb60a1d1ad0f368b7bf7869669e646a688f Mon Sep 17 00:00:00 2001 From: llim Date: Mon, 16 Nov 2020 19:17:16 +0900 Subject: [PATCH 01/14] Feat : step1 --- JuiceMaker/JuiceMaker/JuiceMaker.swift | 121 ++++++++++++++++++++++++- 1 file changed, 116 insertions(+), 5 deletions(-) diff --git a/JuiceMaker/JuiceMaker/JuiceMaker.swift b/JuiceMaker/JuiceMaker/JuiceMaker.swift index 930465fdb..b798d3467 100644 --- a/JuiceMaker/JuiceMaker/JuiceMaker.swift +++ b/JuiceMaker/JuiceMaker/JuiceMaker.swift @@ -1,9 +1,120 @@ + +// +// JuiceMaker.swift +// JuiceMaker +// +// Created by Lina Lim on 11/16/20. +// Copyright © 2020 llim. All rights reserved. // -// JuiceMaker - JuiceMaker.swift -// Created by yagom. -// Copyright © yagom academy. All rights reserved. -// import Foundation -/// 쥬스 메이커 타입 +/// 쥬스 메이커 타입 +class JucieMaker { + // 읽기전용으로 재고 확인하기 + var strawberry: Int = 10 + var banana: Int = 10 + var pineapple: Int = 10 + var kiwi: Int = 10 + var mango: Int = 10 + + var strawberryStock: Int { + get { + return strawberry + } + } + + var bananaStock: Int { + get { + return banana + } + } + + var pineappleyStock: Int { + get { + return pineapple + } + } + + var kiwiStock: Int { + get { + return kiwi + } + } + + var mangoStock: Int { + get { + return mango + } + } + + func showOutOfStock() { + print("재료가 모자라요. 재고를 수정할까요?") + } + + func showSuccess() { + print("쥬스 나왔습니다! 맛있게 드세요!") + } + + func makeKiwiJuice() { + if kiwi >= 3 { + kiwi = kiwi - 3 + return showSuccess() + } + showOutOfStock() + } + + func makePineappleJuice() { + if pineapple >= 2 { + pineapple = pineapple - 2 + return showSuccess() + } + showOutOfStock() + } + + func makeStrawberryBananaJuice() { + if strawberry >= 10 && banana >= 1 { + strawberry = strawberry - 10 + banana = banana - 1 + return showSuccess() + } + showOutOfStock() + } + + func makeMangoJuice() { + if mango >= 3 { + mango = mango - 3 + return showSuccess() + } + showOutOfStock() + } + + func makeMangoKiwiJuice() { + if mango >= 2 && kiwi >= 1 { + mango = mango - 2 + kiwi = kiwi - 1 + return showSuccess() + } + showOutOfStock() + } + + func AddStrawberryStock() { + strawberry = strawberry + 1 + } + + func AddBananaStock() { + banana = banana + 1 + } + + func AddPineappleStock() { + pineapple = pineapple + 1 + } + + func AddKiwiStock() { + kiwi = kiwi + 1 + } + + func AddMangoyStock() { + mango = mango + 1 + } +} From 49d41202d6ec891dab5bbec487bfa51797b86ec8 Mon Sep 17 00:00:00 2001 From: llim Date: Tue, 17 Nov 2020 14:15:44 +0900 Subject: [PATCH 02/14] =?UTF-8?q?Feat=20:=20class=EB=82=B4=20=EB=B3=80?= =?UTF-8?q?=EC=88=98=EB=93=A4=20private=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- JuiceMaker/JuiceMaker/JuiceMaker.swift | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/JuiceMaker/JuiceMaker/JuiceMaker.swift b/JuiceMaker/JuiceMaker/JuiceMaker.swift index b798d3467..898ae9199 100644 --- a/JuiceMaker/JuiceMaker/JuiceMaker.swift +++ b/JuiceMaker/JuiceMaker/JuiceMaker.swift @@ -10,14 +10,15 @@ import Foundation /// 쥬스 메이커 타입 -class JucieMaker { - // 읽기전용으로 재고 확인하기 - var strawberry: Int = 10 - var banana: Int = 10 - var pineapple: Int = 10 - var kiwi: Int = 10 - var mango: Int = 10 +class JuiceMaker { + private var strawberry: Int = 10 + private var banana: Int = 10 + private var pineapple: Int = 10 + private var kiwi: Int = 10 + private var mango: Int = 10 + + // MARK : 읽기 전용 과일 재고 var strawberryStock: Int { get { return strawberry @@ -48,6 +49,7 @@ class JucieMaker { } } + // MARK : alert 구현 전, 확인용 메세지 func showOutOfStock() { print("재료가 모자라요. 재고를 수정할까요?") } @@ -56,6 +58,7 @@ class JucieMaker { print("쥬스 나왔습니다! 맛있게 드세요!") } + // MAKR : juice maker func makeKiwiJuice() { if kiwi >= 3 { kiwi = kiwi - 3 @@ -98,6 +101,7 @@ class JucieMaker { showOutOfStock() } + // MAKR : 재고 1개 올리기 func AddStrawberryStock() { strawberry = strawberry + 1 } From 5f82aab6fd7805626e60d4321948a98c28782699 Mon Sep 17 00:00:00 2001 From: llim Date: Tue, 17 Nov 2020 15:05:48 +0900 Subject: [PATCH 03/14] =?UTF-8?q?Fix=20:=20=ED=95=A8=EC=88=98=20=EC=95=9E?= =?UTF-8?q?=20=EB=8C=80=EB=AC=B8=EC=9E=90=20=EC=8B=A4=EC=88=98=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- JuiceMaker/JuiceMaker/JuiceMaker.swift | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/JuiceMaker/JuiceMaker/JuiceMaker.swift b/JuiceMaker/JuiceMaker/JuiceMaker.swift index 898ae9199..3fe959913 100644 --- a/JuiceMaker/JuiceMaker/JuiceMaker.swift +++ b/JuiceMaker/JuiceMaker/JuiceMaker.swift @@ -102,23 +102,23 @@ class JuiceMaker { } // MAKR : 재고 1개 올리기 - func AddStrawberryStock() { + func addStrawberryStock() { strawberry = strawberry + 1 } - func AddBananaStock() { + func addBananaStock() { banana = banana + 1 } - func AddPineappleStock() { + func addPineappleStock() { pineapple = pineapple + 1 } - func AddKiwiStock() { + func addKiwiStock() { kiwi = kiwi + 1 } - func AddMangoyStock() { + func addMangoyStock() { mango = mango + 1 } } From 0efe09f335753eddcf238e64f8968a555a52cc40 Mon Sep 17 00:00:00 2001 From: llim Date: Tue, 17 Nov 2020 15:06:48 +0900 Subject: [PATCH 04/14] =?UTF-8?q?Fix=20:=20=ED=95=A8=EC=88=98=20=EC=B2=AB?= =?UTF-8?q?=EA=B8=80=EC=9E=90=20=EB=8C=80=EB=AC=B8=EC=9E=90=20=EB=B0=8F=20?= =?UTF-8?q?=EC=98=A4=ED=83=80=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- JuiceMaker/JuiceMaker/JuiceMaker.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/JuiceMaker/JuiceMaker/JuiceMaker.swift b/JuiceMaker/JuiceMaker/JuiceMaker.swift index 3fe959913..598c6cf6c 100644 --- a/JuiceMaker/JuiceMaker/JuiceMaker.swift +++ b/JuiceMaker/JuiceMaker/JuiceMaker.swift @@ -118,7 +118,7 @@ class JuiceMaker { kiwi = kiwi + 1 } - func addMangoyStock() { + func addMangoStock() { mango = mango + 1 } } From 1805373991baf01696c7fd41fc51818a6e9b68c5 Mon Sep 17 00:00:00 2001 From: llim Date: Tue, 17 Nov 2020 15:56:17 +0900 Subject: [PATCH 05/14] =?UTF-8?q?Fix=20:=20FruitsStock=EA=B3=BC=20JuiceMak?= =?UTF-8?q?er=EB=A1=9C=20=EB=B6=84=ED=95=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- JuiceMaker/JuiceMaker/JuiceMaker.swift | 95 ++++++++++++-------------- 1 file changed, 44 insertions(+), 51 deletions(-) diff --git a/JuiceMaker/JuiceMaker/JuiceMaker.swift b/JuiceMaker/JuiceMaker/JuiceMaker.swift index 598c6cf6c..388f888c2 100644 --- a/JuiceMaker/JuiceMaker/JuiceMaker.swift +++ b/JuiceMaker/JuiceMaker/JuiceMaker.swift @@ -1,4 +1,3 @@ - // // JuiceMaker.swift // JuiceMaker @@ -9,16 +8,14 @@ import Foundation -/// 쥬스 메이커 타입 -class JuiceMaker { - private var strawberry: Int = 10 - private var banana: Int = 10 - private var pineapple: Int = 10 - private var kiwi: Int = 10 - private var mango: Int = 10 - +/// 과일 재고 +struct FruitsStock { + var strawberry: Int = 10 + var banana: Int = 10 + var pineapple: Int = 10 + var kiwi: Int = 10 + var mango: Int = 10 - // MARK : 읽기 전용 과일 재고 var strawberryStock: Int { get { return strawberry @@ -48,77 +45,73 @@ class JuiceMaker { return mango } } - - // MARK : alert 구현 전, 확인용 메세지 - func showOutOfStock() { - print("재료가 모자라요. 재고를 수정할까요?") - } - - func showSuccess() { - print("쥬스 나왔습니다! 맛있게 드세요!") - } +} + +/// 쥬스 메이커 +class JuiceMaker { + var fruitsStock = FruitsStock() // MAKR : juice maker - func makeKiwiJuice() { - if kiwi >= 3 { - kiwi = kiwi - 3 - return showSuccess() + func makeKiwiJuice() -> Bool { + if fruitsStock.kiwi >= 3 { + fruitsStock.kiwi -= 3 + return true } - showOutOfStock() + return false } - func makePineappleJuice() { - if pineapple >= 2 { - pineapple = pineapple - 2 - return showSuccess() + func makePineappleJuice() -> Bool { + if fruitsStock.pineapple >= 2 { + fruitsStock.pineapple -= 2 + return true } - showOutOfStock() + return false } - func makeStrawberryBananaJuice() { - if strawberry >= 10 && banana >= 1 { - strawberry = strawberry - 10 - banana = banana - 1 - return showSuccess() + func makeStrawberryBananaJuice() -> Bool { + if fruitsStock.strawberry >= 10 && fruitsStock.banana >= 1 { + fruitsStock.strawberry -= 10 + fruitsStock.banana -= 1 + return true } - showOutOfStock() + return false } - func makeMangoJuice() { - if mango >= 3 { - mango = mango - 3 - return showSuccess() + func makeMangoJuice() -> Bool { + if fruitsStock.mango >= 3 { + fruitsStock.mango -= 3 + return true } - showOutOfStock() + return false } - func makeMangoKiwiJuice() { - if mango >= 2 && kiwi >= 1 { - mango = mango - 2 - kiwi = kiwi - 1 - return showSuccess() + func makeMangoKiwiJuice() -> Bool { + if fruitsStock.mango >= 2 && fruitsStock.kiwi >= 1 { + fruitsStock.mango -= 2 + fruitsStock.kiwi -= 1 + return true } - showOutOfStock() + return false } // MAKR : 재고 1개 올리기 func addStrawberryStock() { - strawberry = strawberry + 1 + fruitsStock.strawberry += 1 } func addBananaStock() { - banana = banana + 1 + fruitsStock.banana += 1 } func addPineappleStock() { - pineapple = pineapple + 1 + fruitsStock.pineapple += 1 } func addKiwiStock() { - kiwi = kiwi + 1 + fruitsStock.kiwi += 1 } func addMangoStock() { - mango = mango + 1 + fruitsStock.mango += 1 } } From 65cd7fca746b93236150990ce36c592b384aa632 Mon Sep 17 00:00:00 2001 From: llim Date: Tue, 17 Nov 2020 18:33:06 +0900 Subject: [PATCH 06/14] =?UTF-8?q?Refactor=20:=20JuiceMaker=20=EA=B5=AC?= =?UTF-8?q?=EC=A1=B0=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- JuiceMaker/JuiceMaker/JuiceMaker.swift | 163 +++++++++++++++++-------- 1 file changed, 115 insertions(+), 48 deletions(-) diff --git a/JuiceMaker/JuiceMaker/JuiceMaker.swift b/JuiceMaker/JuiceMaker/JuiceMaker.swift index 388f888c2..b94047211 100644 --- a/JuiceMaker/JuiceMaker/JuiceMaker.swift +++ b/JuiceMaker/JuiceMaker/JuiceMaker.swift @@ -16,6 +16,7 @@ struct FruitsStock { var kiwi: Int = 10 var mango: Int = 10 + // MARK : 읽기 전용 재고 var strawberryStock: Int { get { return strawberry @@ -45,73 +46,139 @@ struct FruitsStock { return mango } } + + // MAKR : 재고 올리기 + mutating func addFruitStock(strawberry: Int = 0, banana: Int = 0, pineapple: Int = 0, kiwi: Int = 0, mango: Int = 0){ + self.strawberry += strawberry + self.banana += banana + self.pineapple += pineapple + self.kiwi += kiwi + self.mango += mango + } } /// 쥬스 메이커 class JuiceMaker { var fruitsStock = FruitsStock() + var selectedRecipe = [(name: "kiwi", number: 0)] + var selectMenu = "" - // MAKR : juice maker - func makeKiwiJuice() -> Bool { - if fruitsStock.kiwi >= 3 { - fruitsStock.kiwi -= 3 - return true - } - return false + // 과일 종류 + enum Fruit: String { + case strawberry = "딸기" + case banana = "바나나" + case pineapple = "파인애플" + case kiwi = "키위" + case mango = "망고" } - func makePineappleJuice() -> Bool { - if fruitsStock.pineapple >= 2 { - fruitsStock.pineapple -= 2 - return true - } - return false + // 쥬스 종류 + enum Juice: String { + case kiwiJuice = "키위" + case strawberryBananaJuice = "딸기바나나" + case pineappleJuice = "파인애플" + case mangoJuice = "망고" + case mangoKiwiJuice = "망고키위" } - func makeStrawberryBananaJuice() -> Bool { - if fruitsStock.strawberry >= 10 && fruitsStock.banana >= 1 { - fruitsStock.strawberry -= 10 - fruitsStock.banana -= 1 - return true + // 쥬스 레시피 + let kiwiJuice = [(name: "kiwi", number: 3)] + let strawberryBananaJuice = [(name: "strawberry", number: 10), (name: "banana", number: 1)] + let pineappleJuice = [(name: "pineapple", number: 2)] + let mangoKiwiJuice = [(name: "mango", number: 2), (name: "kiwi", number: 1)] + let mangoJuice = [(name: "mango", number: 3)] + + /// 메뉴 접수 + func checkRecipe(menu: Juice) { + switch menu { + case .kiwiJuice: + selectedRecipe = kiwiJuice + selectMenu = Juice.kiwiJuice.rawValue + case .strawberryBananaJuice: + selectedRecipe = strawberryBananaJuice + selectMenu = Juice.strawberryBananaJuice.rawValue + case .pineappleJuice: + selectedRecipe = pineappleJuice + selectMenu = Juice.pineappleJuice.rawValue + case .mangoJuice: + selectedRecipe = mangoJuice + selectMenu = Juice.mangoJuice.rawValue + case .mangoKiwiJuice: + selectedRecipe = mangoKiwiJuice + selectMenu = Juice.mangoKiwiJuice.rawValue } - return false } - func makeMangoJuice() -> Bool { - if fruitsStock.mango >= 3 { - fruitsStock.mango -= 3 - return true + /// 재고 확인 + func checkFruitStock(fruit: String, number: Int) -> Bool { + switch fruit { + case "banana": + if fruitsStock.banana >= number { + return true + } + case "kiwi": + if fruitsStock.kiwi >= number { + return true + } + case "mango": + if fruitsStock.mango >= number { + return true + } + case "strawberry": + if fruitsStock.strawberry >= number { + return true + } + case "pineapple": + if fruitsStock.pineapple >= number { + return true + } + default: + return false } return false } - func makeMangoKiwiJuice() -> Bool { - if fruitsStock.mango >= 2 && fruitsStock.kiwi >= 1 { - fruitsStock.mango -= 2 - fruitsStock.kiwi -= 1 + /// 쥬스 만들기 + func makeJuice(menu: Juice) -> Bool{ + // 레시피 확인 + checkRecipe(menu: menu) + + // 재고 확인 + var possible: Bool = false + + for recipeIndex in 0.. Date: Tue, 17 Nov 2020 20:09:19 +0900 Subject: [PATCH 07/14] =?UTF-8?q?Refactor=20:=20=EA=B5=AC=EC=A1=B0=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=202?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- JuiceMaker/JuiceMaker/JuiceMaker.swift | 213 ++++++++++++------------- 1 file changed, 100 insertions(+), 113 deletions(-) diff --git a/JuiceMaker/JuiceMaker/JuiceMaker.swift b/JuiceMaker/JuiceMaker/JuiceMaker.swift index b94047211..65d506b6a 100644 --- a/JuiceMaker/JuiceMaker/JuiceMaker.swift +++ b/JuiceMaker/JuiceMaker/JuiceMaker.swift @@ -8,177 +8,164 @@ import Foundation -/// 과일 재고 -struct FruitsStock { - var strawberry: Int = 10 - var banana: Int = 10 - var pineapple: Int = 10 - var kiwi: Int = 10 - var mango: Int = 10 +// 과일 종류 +enum FruitName: String { + case strawberry = "딸기" + case banana = "바나나" + case pineapple = "파인애플" + case kiwi = "키위" + case mango = "망고" + case none = "" +} + +// 쥬스 종류 +enum JuiceName: String { + case kiwiJuice = "키위" + case strawberryBananaJuice = "딸기바나나" + case pineappleJuice = "파인애플" + case mangoJuice = "망고" + case mangoKiwiJuice = "망고키위" + case none = "" +} + +/// 과일 +struct Fruit { + var fruitName: FruitName + private var fruitStock: Int = 10 - // MARK : 읽기 전용 재고 - var strawberryStock: Int { + var currentStock: Int { get { - return strawberry + return fruitStock } } - var bananaStock: Int { - get { - return banana - } + init(fruitName: FruitName) { + self.fruitName = fruitName } - var pineappleyStock: Int { - get { - return pineapple - } + mutating func addStock(amount: Int) { + self.fruitStock = fruitStock + amount } - var kiwiStock: Int { - get { - return kiwi - } + mutating func useStock(amount: Int) { + self.fruitStock = fruitStock - amount } - var mangoStock: Int { - get { - return mango + mutating func checkStock(needAmount: Int) -> Bool { + if fruitStock >= needAmount { + return true } - } - - // MAKR : 재고 올리기 - mutating func addFruitStock(strawberry: Int = 0, banana: Int = 0, pineapple: Int = 0, kiwi: Int = 0, mango: Int = 0){ - self.strawberry += strawberry - self.banana += banana - self.pineapple += pineapple - self.kiwi += kiwi - self.mango += mango + debugPrint("\(fruitName.rawValue) 재고부족") + return false } } /// 쥬스 메이커 class JuiceMaker { - var fruitsStock = FruitsStock() - var selectedRecipe = [(name: "kiwi", number: 0)] - var selectMenu = "" + var selectedRecipe = [(name: FruitName.none, number: 0)] + var selectedMenu = JuiceName.none - // 과일 종류 - enum Fruit: String { - case strawberry = "딸기" - case banana = "바나나" - case pineapple = "파인애플" - case kiwi = "키위" - case mango = "망고" - } - - // 쥬스 종류 - enum Juice: String { - case kiwiJuice = "키위" - case strawberryBananaJuice = "딸기바나나" - case pineappleJuice = "파인애플" - case mangoJuice = "망고" - case mangoKiwiJuice = "망고키위" - } + var strawberry = Fruit(fruitName: .strawberry) + var banana = Fruit(fruitName: .banana) + var pineapple = Fruit(fruitName: .pineapple) + var kiwi = Fruit(fruitName: .kiwi) + var mango = Fruit(fruitName: .mango) // 쥬스 레시피 - let kiwiJuice = [(name: "kiwi", number: 3)] - let strawberryBananaJuice = [(name: "strawberry", number: 10), (name: "banana", number: 1)] - let pineappleJuice = [(name: "pineapple", number: 2)] - let mangoKiwiJuice = [(name: "mango", number: 2), (name: "kiwi", number: 1)] - let mangoJuice = [(name: "mango", number: 3)] + let kiwiJuice = [(name: FruitName.kiwi, number: 3)] + let strawberryBananaJuice = [(name: FruitName.strawberry, number: 10), (name: FruitName.banana, number: 1)] + let pineappleJuice = [(name: FruitName.pineapple, number: 2)] + let mangoKiwiJuice = [(name: FruitName.mango, number: 2), (name: FruitName.kiwi, number: 1)] + let mangoJuice = [(name: FruitName.mango, number: 3)] + /// 메뉴 접수 - func checkRecipe(menu: Juice) { + func checkRecipe(menu: JuiceName) { switch menu { case .kiwiJuice: selectedRecipe = kiwiJuice - selectMenu = Juice.kiwiJuice.rawValue + selectedMenu = JuiceName.kiwiJuice + case .strawberryBananaJuice: selectedRecipe = strawberryBananaJuice - selectMenu = Juice.strawberryBananaJuice.rawValue + selectedMenu = JuiceName.strawberryBananaJuice + case .pineappleJuice: selectedRecipe = pineappleJuice - selectMenu = Juice.pineappleJuice.rawValue + selectedMenu = JuiceName.pineappleJuice + case .mangoJuice: selectedRecipe = mangoJuice - selectMenu = Juice.mangoJuice.rawValue + selectedMenu = JuiceName.mangoJuice + case .mangoKiwiJuice: selectedRecipe = mangoKiwiJuice - selectMenu = Juice.mangoKiwiJuice.rawValue + selectedMenu = JuiceName.mangoKiwiJuice + + case .none: + return } } + /// 재고 확인 - func checkFruitStock(fruit: String, number: Int) -> Bool { + func checkFruitStock(fruit: FruitName, amount: Int) -> Bool { switch fruit { - case "banana": - if fruitsStock.banana >= number { - return true - } - case "kiwi": - if fruitsStock.kiwi >= number { - return true - } - case "mango": - if fruitsStock.mango >= number { - return true - } - case "strawberry": - if fruitsStock.strawberry >= number { - return true - } - case "pineapple": - if fruitsStock.pineapple >= number { - return true - } + case .banana: + return banana.checkStock(needAmount: amount) + case .kiwi: + return kiwi.checkStock(needAmount: amount) + case .mango: + return mango.checkStock(needAmount: amount) + case .strawberry: + return strawberry.checkStock(needAmount: amount) + case .pineapple: + return pineapple.checkStock(needAmount: amount) default: return false } - return false } + /// 쥬스 만들기 - func makeJuice(menu: Juice) -> Bool{ + func makeJuice(menu: JuiceName) { // 레시피 확인 checkRecipe(menu: menu) // 재고 확인 - var possible: Bool = false + var possible: Bool = true for recipeIndex in 0.. Date: Wed, 18 Nov 2020 10:23:19 +0900 Subject: [PATCH 08/14] =?UTF-8?q?Fix=20:=20Fruit=20class=EC=97=90=20initia?= =?UTF-8?q?lAmount=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- JuiceMaker/JuiceMaker/JuiceMaker.swift | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/JuiceMaker/JuiceMaker/JuiceMaker.swift b/JuiceMaker/JuiceMaker/JuiceMaker.swift index 65d506b6a..c72b332c6 100644 --- a/JuiceMaker/JuiceMaker/JuiceMaker.swift +++ b/JuiceMaker/JuiceMaker/JuiceMaker.swift @@ -31,7 +31,8 @@ enum JuiceName: String { /// 과일 struct Fruit { var fruitName: FruitName - private var fruitStock: Int = 10 + var fruitStock: Int + let initialAmount: Int = 10 var currentStock: Int { get { @@ -41,6 +42,7 @@ struct Fruit { init(fruitName: FruitName) { self.fruitName = fruitName + self.fruitStock = initialAmount } mutating func addStock(amount: Int) { From 8171d52d1507304cb3485817fdfbea80a0e7b8c4 Mon Sep 17 00:00:00 2001 From: "Lina.L" Date: Wed, 18 Nov 2020 10:30:31 +0900 Subject: [PATCH 09/14] =?UTF-8?q?Fix=20:=20struct=20Fruit=EB=82=B4?= =?UTF-8?q?=EB=B6=80=EC=97=90=20=EB=B3=80=EC=88=98=EB=AA=85=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- JuiceMaker/JuiceMaker/JuiceMaker.swift | 28 +++++++++++++------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/JuiceMaker/JuiceMaker/JuiceMaker.swift b/JuiceMaker/JuiceMaker/JuiceMaker.swift index c72b332c6..882373606 100644 --- a/JuiceMaker/JuiceMaker/JuiceMaker.swift +++ b/JuiceMaker/JuiceMaker/JuiceMaker.swift @@ -30,8 +30,8 @@ enum JuiceName: String { /// 과일 struct Fruit { - var fruitName: FruitName - var fruitStock: Int + var name: FruitName + var stock: Int let initialAmount: Int = 10 var currentStock: Int { @@ -40,24 +40,24 @@ struct Fruit { } } - init(fruitName: FruitName) { - self.fruitName = fruitName - self.fruitStock = initialAmount + init(name: name) { + self.name = name + self.stock = initialAmount } mutating func addStock(amount: Int) { - self.fruitStock = fruitStock + amount + self.stock = stock + amount } mutating func useStock(amount: Int) { - self.fruitStock = fruitStock - amount + self.stock = stock - amount } mutating func checkStock(needAmount: Int) -> Bool { - if fruitStock >= needAmount { + if stock >= needAmount { return true } - debugPrint("\(fruitName.rawValue) 재고부족") + debugPrint("\(name.rawValue) 재고부족") return false } } @@ -67,11 +67,11 @@ class JuiceMaker { var selectedRecipe = [(name: FruitName.none, number: 0)] var selectedMenu = JuiceName.none - var strawberry = Fruit(fruitName: .strawberry) - var banana = Fruit(fruitName: .banana) - var pineapple = Fruit(fruitName: .pineapple) - var kiwi = Fruit(fruitName: .kiwi) - var mango = Fruit(fruitName: .mango) + var strawberry = Fruit(name: .strawberry) + var banana = Fruit(name: .banana) + var pineapple = Fruit(name: .pineapple) + var kiwi = Fruit(name: .kiwi) + var mango = Fruit(name: .mango) // 쥬스 레시피 let kiwiJuice = [(name: FruitName.kiwi, number: 3)] From 17430bfcfe074c4732edf1d36fec876e74df3080 Mon Sep 17 00:00:00 2001 From: "Lina.L" Date: Wed, 18 Nov 2020 10:47:03 +0900 Subject: [PATCH 10/14] =?UTF-8?q?Fix=20:=20=EB=A0=88=EC=8B=9C=ED=94=BC=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80,=20number->amount=EB=A1=9C=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- JuiceMaker/JuiceMaker/JuiceMaker.swift | 66 ++++++++++++++++---------- 1 file changed, 42 insertions(+), 24 deletions(-) diff --git a/JuiceMaker/JuiceMaker/JuiceMaker.swift b/JuiceMaker/JuiceMaker/JuiceMaker.swift index 882373606..577532500 100644 --- a/JuiceMaker/JuiceMaker/JuiceMaker.swift +++ b/JuiceMaker/JuiceMaker/JuiceMaker.swift @@ -12,19 +12,21 @@ import Foundation enum FruitName: String { case strawberry = "딸기" case banana = "바나나" - case pineapple = "파인애플" - case kiwi = "키위" case mango = "망고" + case kiwi = "키위" + case pineapple = "파인애플" case none = "" } // 쥬스 종류 -enum JuiceName: String { +enum JuiceName: String + case strawberryJuice = "딸기" + case bananaJuice = "바나나" + case mangoJuice = "망고" case kiwiJuice = "키위" - case strawberryBananaJuice = "딸기바나나" case pineappleJuice = "파인애플" - case mangoJuice = "망고" - case mangoKiwiJuice = "망고키위" + case strawberryBananaJuice = "딸기바나나" + case mangoKiwiJuice = "망고키위 case none = "" } @@ -64,7 +66,7 @@ struct Fruit { /// 쥬스 메이커 class JuiceMaker { - var selectedRecipe = [(name: FruitName.none, number: 0)] + var selectedRecipe = [(name: FruitName.none, amount: 0)] var selectedMenu = JuiceName.none var strawberry = Fruit(name: .strawberry) @@ -74,20 +76,34 @@ class JuiceMaker { var mango = Fruit(name: .mango) // 쥬스 레시피 - let kiwiJuice = [(name: FruitName.kiwi, number: 3)] - let strawberryBananaJuice = [(name: FruitName.strawberry, number: 10), (name: FruitName.banana, number: 1)] - let pineappleJuice = [(name: FruitName.pineapple, number: 2)] - let mangoKiwiJuice = [(name: FruitName.mango, number: 2), (name: FruitName.kiwi, number: 1)] - let mangoJuice = [(name: FruitName.mango, number: 3)] + let strawberryJuice = [(name: FruitName.strawberry, amount: 16)] + let bananaJuice = [(name: FruitName.banana, amount: 2)] + let kiwiJuice = [(name: FruitName.kiwi, amount: 3)] + let mangoJuice = [(name: FruitName.mango, amount: 3)] + let pineappleJuice = [(name: FruitName.pineapple, amount: 2)] + let strawberryBananaJuice = [(name: FruitName.strawberry, amount: 10), (name: FruitName.banana, amount: 1)] + let mangoKiwiJuice = [(name: FruitName.mango, amount: 2), (name: FruitName.kiwi, amount: 1)] /// 메뉴 접수 func checkRecipe(menu: JuiceName) { switch menu { + case .strawberrJuice: + selectedRecipe = strawberryJuice + selectedMenu = JuiceName.strawberryJuice + + case .bananaJuice: + selectedRecipe = bananaJuice + selectedMenu = JuiceName.bananaJuice + case .kiwiJuice: selectedRecipe = kiwiJuice selectedMenu = JuiceName.kiwiJuice + case .mangoJuice: + selectedRecipe = mangoJuice + selectedMenu = JuiceName.mangoJuice + case .strawberryBananaJuice: selectedRecipe = strawberryBananaJuice selectedMenu = JuiceName.strawberryBananaJuice @@ -96,10 +112,6 @@ class JuiceMaker { selectedRecipe = pineappleJuice selectedMenu = JuiceName.pineappleJuice - case .mangoJuice: - selectedRecipe = mangoJuice - selectedMenu = JuiceName.mangoJuice - case .mangoKiwiJuice: selectedRecipe = mangoKiwiJuice selectedMenu = JuiceName.mangoKiwiJuice @@ -138,7 +150,7 @@ class JuiceMaker { var possible: Bool = true for recipeIndex in 0.. Date: Wed, 18 Nov 2020 10:48:13 +0900 Subject: [PATCH 11/14] =?UTF-8?q?Fix=20:=20=EC=9E=98=EB=AA=BB=EB=90=9C=20?= =?UTF-8?q?=EA=B4=84=ED=98=B8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- JuiceMaker/JuiceMaker/JuiceMaker.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/JuiceMaker/JuiceMaker/JuiceMaker.swift b/JuiceMaker/JuiceMaker/JuiceMaker.swift index 577532500..9d828503b 100644 --- a/JuiceMaker/JuiceMaker/JuiceMaker.swift +++ b/JuiceMaker/JuiceMaker/JuiceMaker.swift @@ -19,7 +19,7 @@ enum FruitName: String { } // 쥬스 종류 -enum JuiceName: String +enum JuiceName: String { case strawberryJuice = "딸기" case bananaJuice = "바나나" case mangoJuice = "망고" From 7c0284ab05b17bde6f8fdb1923afaa5dc41a4f0d Mon Sep 17 00:00:00 2001 From: "Lina.L" Date: Wed, 18 Nov 2020 10:49:18 +0900 Subject: [PATCH 12/14] =?UTF-8?q?Fix=20:=20=EC=9E=98=EB=AA=BB=20=EC=82=AD?= =?UTF-8?q?=EC=A0=9C=EB=90=9C=20=EB=94=B0=EC=98=B4=ED=91=9C=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- JuiceMaker/JuiceMaker/JuiceMaker.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/JuiceMaker/JuiceMaker/JuiceMaker.swift b/JuiceMaker/JuiceMaker/JuiceMaker.swift index 9d828503b..3478726fc 100644 --- a/JuiceMaker/JuiceMaker/JuiceMaker.swift +++ b/JuiceMaker/JuiceMaker/JuiceMaker.swift @@ -26,7 +26,7 @@ enum JuiceName: String { case kiwiJuice = "키위" case pineappleJuice = "파인애플" case strawberryBananaJuice = "딸기바나나" - case mangoKiwiJuice = "망고키위 + case mangoKiwiJuice = "망고키위" case none = "" } From a8f115f4d8635c35ae78ce074949da5c8b1c4c42 Mon Sep 17 00:00:00 2001 From: "Lina.L" Date: Wed, 18 Nov 2020 10:50:11 +0900 Subject: [PATCH 13/14] =?UTF-8?q?Fix=20:=20=EB=B3=80=EC=88=98=EB=AA=85=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- JuiceMaker/JuiceMaker/JuiceMaker.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/JuiceMaker/JuiceMaker/JuiceMaker.swift b/JuiceMaker/JuiceMaker/JuiceMaker.swift index 3478726fc..2887153f3 100644 --- a/JuiceMaker/JuiceMaker/JuiceMaker.swift +++ b/JuiceMaker/JuiceMaker/JuiceMaker.swift @@ -38,7 +38,7 @@ struct Fruit { var currentStock: Int { get { - return fruitStock + return stock } } From cdc7704acbb383461c1a299ceb3bddcff107b9b4 Mon Sep 17 00:00:00 2001 From: llim Date: Wed, 18 Nov 2020 18:11:22 +0900 Subject: [PATCH 14/14] =?UTF-8?q?Fix=20:=20=EC=98=A4=ED=83=80=20=EC=88=98?= =?UTF-8?q?=EC=A0=95,=20=EB=B3=80=EC=88=98=EB=AA=85=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- JuiceMaker/JuiceMaker/JuiceMaker.swift | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/JuiceMaker/JuiceMaker/JuiceMaker.swift b/JuiceMaker/JuiceMaker/JuiceMaker.swift index 2887153f3..33d2aecb2 100644 --- a/JuiceMaker/JuiceMaker/JuiceMaker.swift +++ b/JuiceMaker/JuiceMaker/JuiceMaker.swift @@ -42,7 +42,7 @@ struct Fruit { } } - init(name: name) { + init(name: FruitName) { self.name = name self.stock = initialAmount } @@ -88,7 +88,7 @@ class JuiceMaker { /// 메뉴 접수 func checkRecipe(menu: JuiceName) { switch menu { - case .strawberrJuice: + case .strawberryJuice: selectedRecipe = strawberryJuice selectedMenu = JuiceName.strawberryJuice @@ -159,7 +159,7 @@ class JuiceMaker { // 재고가 있다면 만들기 if possible { switch selectedMenu { - case .strawberrJuice: + case .strawberryJuice: strawberry.useStock(amount: selectedRecipe[0].amount) case .bananaJuice: