Vendendo uma Poção
Parte da seção Fundamentals do Journey de Lua da Coddy — lição 82 de 90.
Desafio
FácilComplete seu projeto de loja de poções implementando um sistema de transação de vendas. Com base na sua funcionalidade de busca, crie um sistema que processe a venda de uma poção, reduzindo a quantidade em estoque e fornecendo uma confirmação da transação.
A seguinte entrada será fornecida:
- Uma string contendo o nome da poção a ser vendida
Use um loop for numérico para iterar pela sua tabela inventory para encontrar a poção especificada. Quando você localizar a poção correspondente usando o operador de igualdade ==, diminua seu valor de stock em 1 para simular a venda.
Após atualizar o estoque, imprima uma mensagem de confirmação mostrando o nome da poção e seu novo nível de estoque no formato:
Sold 1 [nome da poção]
Remaining stock: [nova contagem de estoque]Use a concatenação de strings para combinar o texto descritivo com o nome da poção e a quantidade de estoque atualizada. Após processar a venda, use a instrução break para sair do loop.
Experimente você mesmo
-- 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
endTodas as lições de Fundamentals
4Operadores 2 Relacionais e Lógicos
Operadores de IgualdadeOperadores RelacionaisO Operador 'and'O Operador 'or'O Operador 'not'Avaliação de Curto-CircuitoValores Truthy e FalsyRecapitulação - Lógica Simples7Lógica Condicional Básica
A instrução if-thenA instrução if-then-elseA instrução elseifRecapitulação - Baú do Tesouro10Tabelas Parte 1: Estilo de Lista
O que é uma Tabela?Criando uma TabelaAcessando Elementos por ÍndiceModificando Elementos por ÍndiceO Operador de Comprimento '#'table.insert()table.remove()Recapitulação - Gerenciar Membros do Grupo13Projeto: Loja de Poções Simples
Configuração do ProjetoAdicionando uma Poção2Variáveis e Tipos de Dados
O que é uma Variável?NúmerosStringsBooleanosO Valor 'nil'A Função type()Convenções de NomenclaturaRecapitulação - Perfil de Personagem5Saída Básica
Imprimindo LiteraisImprimindo VariáveisImprimindo Múltiplos ValoresCombinando Strings e VariáveisA Função tostring()EntradaCastRecapitulação - Relatório de StatusRecapitulação - Até 1208Fundamentos de Manipulação de Strings
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Revisão - Formatar Nome de Usuário3Operadores 1: Aritmética e Concatenação
Operadores AritméticosOperador de MóduloOperador de ExponenciaçãoConcatenação de StringsPrecedência de OperadoresRecapitulação - Cálculos Simples6Projeto: Exibição de Atributos do Personagem
Mensagem de Boas-vindasDeclarar Atributos do Personagem9Fundamentos de Funções
Declarando uma FunçãoChamando uma FunçãoFunções com ParâmetrosFunções com Múltiplos ParâmetrosA Instrução 'return'Recapitulação - Calculadora de Área