Menu
Coddy logo textTech

포션 판매하기

Coddy Lua 여정의 Fundamentals 섹션에 포함된 레슨 — 90개 중 82번째.

challenge icon

챌린지

쉬움

판매 트랜잭션 시스템을 구현하여 포션 상점 프로젝트를 완료하세요. 이전의 검색 기능을 바탕으로, 재고 수량을 줄이고 트랜잭션 확인을 제공하여 포션 판매를 처리하는 시스템을 만듭니다.

다음과 같은 입력이 제공됩니다:

  • 판매할 포션의 이름이 포함된 문자열

숫자형 for 루프를 사용하여 inventory 테이블을 반복하며 지정된 포션을 찾으세요. 동등 연산자 ==를 사용하여 일치하는 포션을 찾으면, 판매를 시뮬레이션하기 위해 해당 포션의 stock 값을 1만큼 감소시킵니다.

재고를 업데이트한 후, 포션 이름과 새로운 재고 수준을 다음 형식으로 보여주는 확인 메시지를 출력하세요:

Sold 1 [potion name]
Remaining stock: [new stock count]

문자열 연결(string concatenation)을 사용하여 설명 텍스트와 포션의 이름 및 업데이트된 재고 수량을 결합하세요. 판매 처리가 완료되면 break 문을 사용하여 루프를 종료하세요.

직접 해보기

-- Inventory table with potion data
inventory = {
    {name = "Health Potion", price = 15, stock = 8},
    {name = "Mana Potion", price = 12, stock = 5},
    {name = "Strength Potion", price = 25, stock = 3},
    {name = "Speed Potion", price = 18, stock = 2}
}

-- Read the potion name to search for
search_name = io.read()

-- Use a numeric for loop to search through the inventory
for i = 1, #inventory do
    if inventory[i].name == search_name then
        print("Found: " .. inventory[i].name)
        print("Price: " .. inventory[i].price .. " gold")
        print("Stock: " .. inventory[i].stock .. " units")
        break
    end
end

Fundamentals의 모든 레슨