포션 판매하기
Coddy Lua 여정의 Fundamentals 섹션에 포함된 레슨 — 90개 중 82번째.
챌린지
쉬움판매 트랜잭션 시스템을 구현하여 포션 상점 프로젝트를 완료하세요. 이전의 검색 기능을 바탕으로, 재고 수량을 줄이고 트랜잭션 확인을 제공하여 포션 판매를 처리하는 시스템을 만듭니다.
다음과 같은 입력이 제공됩니다:
- 판매할 포션의 이름이 포함된 문자열
숫자형 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