Vendere una pozione
Fa parte della sezione Fondamenti del percorso Lua di Coddy. Lezione 82 di 90.
Sfida
FacileCompleta il tuo progetto di negozio di pozioni implementando un sistema di transazioni di vendita. Partendo dalla funzionalità di ricerca, crea un sistema che elabori la vendita di una pozione riducendo la quantità in magazzino e fornendo una conferma della transazione.
Verrà fornito il seguente input:
- Una stringa contenente il nome della pozione da vendere
Usa un ciclo numerico for per scorrere la tabella inventory e trovare la pozione specificata. Quando individui la pozione corrispondente usando l'operatore di uguaglianza ==, diminuisci di 1 il suo valore stock per simulare la vendita.
Dopo aver aggiornato la giacenza, stampa un messaggio di conferma che mostri il nome della pozione e il nuovo livello delle scorte nel formato:
Sold 1 [potion name]
Remaining stock: [new stock count]Usa la concatenazione di stringhe per combinare il testo descrittivo con il nome della pozione e la quantità aggiornata delle scorte. Dopo aver elaborato la vendita, usa l'istruzione break per uscire dal ciclo.
Provalo tu
-- 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
endTutte le lezioni di Fondamenti
4Operatori 2: relazionali e logici
Operatori di uguaglianzaOperatori relazionaliL'operatore 'and'L'operatore 'or'L'operatore 'not'Valutazione short-circuitValori truthy e falsyRiepilogo: logica semplice7Logica condizionale di base
L'istruzione if-thenL'istruzione if-then-elseL'istruzione elseifRiepilogo - Il forziere del tesoro10Tabelle Parte 1: stile lista
Che cos'è una tabella?Creare una tabellaAccedere agli elementi tramite indiceModificare gli elementi tramite indiceL'operatore di lunghezza '#'table.insert()table.remove()Riepilogo - Gestire i membri del party13Progetto: Negozio di pozioni semplice
Configurazione del progettoAggiungere una pozione2Variabili e tipi di dati
Che cos'è una variabile?NumeriStringheValori booleaniIl valore 'nil'La funzione type()Convenzioni di denominazioneRiepilogo - Profilo del personaggio5Output di base
Stampare valori letteraliStampare variabiliStampare più valoriCombinare stringhe e variabiliLa funzione tostring()InputCastRipasso - Rapporto di statoRipasso - Fino a 1208Basi della manipolazione delle stringhe
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Riepilogo - Formatta il nome utente3Operatori 1: aritmetica e concatenazione
Operatori aritmeticiOperatore moduloOperatore di elevamento a potenzaConcatenazione di stringhePrecedenza degli operatoriRipasso: calcoli semplici6Progetto: visualizzazione delle statistiche del personaggio
Messaggio di benvenutoDichiara le statistiche del personaggio9Funzioni: nozioni di base
Dichiarare una funzioneChiamare una funzioneFunzioni con parametriFunzioni con più parametriL'istruzione 'return'Ripasso - Calcolatore di areaEsercitati da solo: Compilatore Lua online