Vender una poción
Parte de la sección Fundamentals del Journey de Lua de Coddy — lección 82 de 90.
Desafío
FácilCompleta tu proyecto de la tienda de pociones implementando un sistema de transacciones de venta. Basándote en tu funcionalidad de búsqueda, crea un sistema que procese la venta de una poción reduciendo la cantidad en stock y proporcionando una confirmación de la transacción.
Se proporcionará la siguiente entrada:
- Una cadena que contiene el nombre de la poción a vender
Usa un bucle for numérico para iterar a través de tu tabla inventory para encontrar la poción especificada. Cuando localices la poción coincidente usando el operador de igualdad ==, disminuye su valor de stock en 1 para simular la venta.
Después de actualizar el stock, imprime un mensaje de confirmación que muestre el nombre de la poción y su nuevo nivel de stock en el formato:
Sold 1 [potion name]
Remaining stock: [new stock count]Usa la concatenación de cadenas para combinar el texto descriptivo con el nombre de la poción y la cantidad de stock actualizada. Después de procesar la venta, usa la sentencia break para salir del bucle.
Pruébalo tú mismo
-- 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 las lecciones de Fundamentals
4Operadores 2 Relacionales y Lógicos
Operadores de IgualdadOperadores RelacionalesEl Operador 'and'El Operador 'or'El Operador 'not'Evaluación de CortocircuitoValores Truthy y FalsyResumen - Lógica Simple7Lógica condicional básica
La sentencia if-thenLa sentencia if-then-elseLa sentencia elseifResumen - Cofre del tesoro10Tablas Parte 1: Estilo de lista
¿Qué es una tabla?Crear una tablaAcceder a elementos por índiceModificar elementos por índiceEl operador de longitud '#'table.insert()table.remove()Resumen - Gestionar miembros del grupo13Proyecto: Tienda de pociones sencilla
Configuración del proyectoAñadir una poción2Variables y tipos de datos
¿Qué es una variable?NúmerosStringsBooleanosEl valor 'nil'La función type()Convenciones de nomenclaturaResumen - Perfil de personaje5Salida básica
Imprimir literalesImprimir variablesImprimir múltiples valoresCombinar cadenas y variablesLa función tostring()EntradaConversión de tipos (Cast)Resumen - Informe de estadoResumen - Hasta 1208Fundamentos de manipulación de strings
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Repaso - Formatear nombre de usuario3Operadores 1: Aritmética y Concatenación
Operadores aritméticosOperador de móduloOperador de exponenciaciónConcatenación de stringsPrecedencia de operadoresResumen: Cálculos sencillos6Proyecto: Mostrar estadísticas del personaje
Mensaje de bienvenidaDeclarar estadísticas del personaje9Fundamentos de las funciones
Declarar una funciónLlamar a una funciónFunciones con parámetrosFunciones con múltiples parámetrosLa sentencia 'return'Repaso - Calculadora de área