포션 판매하기
Coddy Lua 여정의 기초 (Fundamentals) 섹션에 포함된 레슨 — 90개 중 82번째.
챌린지
쉬움포션 상점 프로젝트를 완성하기 위해 판매 트랜잭션 시스템을 구현하세요. 검색 기능을 기반으로, 포션의 `stock` 수량을 줄이고 트랜잭션 확인 메시지를 제공하여 포션 판매를 처리하는 시스템을 만드세요.
다음 입력이 제공됩니다:
- 판매할 포션의 이름이 포함된 문자열
숫자 for 루프를 사용하여 inventory 테이블을 순회하며 지정된 포션을 찾으세요. 동등 연산자 ==를 사용하여 일치하는 포션을 찾으면, stock 값을 1 감소시켜 판매를 시뮬레이션하세요.
재고를 업데이트한 후, 다음 형식으로 포션 이름과 새로운 재고 수량을 보여주는 확인 메시지를 출력하세요:
Sold 1 [potion name]
Remaining stock: [new stock count]문자열 연결을 사용하여 설명 텍스트를 포션 이름 및 업데이트된 재고 수량과 결합하세요. 판매 처리 후에는 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