Obsługa danych wejściowych użytkownika
Część sekcji Logika i przepływ programu ścieżki Lua w Coddy. Lekcja 28 z 54.
Wyzwanie
ŁatwyRozszerz pętlę gry, aby odczytywać i wyświetlać polecenia użytkownika za pomocą io.read().
Masz już zmienne startingRoom, gardenRoom i player z poprzedniego wyzwania.
Zmodyfikuj pętlę gry, aby:
- Wyświetlała opis bieżącego pokoju gracza
- Wyświetlała znak zachęty
"> "(znak większości, po którym następuje spacja) bez znaku nowej linii: użyjio.write()zamiastprint(), ponieważio.write()wyświetla tekst bez dodawania znaku nowej linii na końcu - Odczytywała polecenie użytkownika za pomocą
io.read() - Wyświetlała
"You entered: ", po którym następuje wpisane przez użytkownika polecenie - Sprawdzała, czy polecenie to
"quit"— jeśli tak, ustawgameRunningnafalse, aby zakończyć pętlę
Pętla powinna działać, dopóki użytkownik nie wpisze "quit".
Oczekiwany format wyjściowy:
You find yourself in a dusty library filled with ancient books and scrolls.
>
You entered: look
You find yourself in a dusty library filled with ancient books and scrolls.
>
You entered: east
You find yourself in a dusty library filled with ancient books and scrolls.
>
You entered: quitSpróbuj swoich sił
-- Room definitions
local startingRoom = {
description = "You find yourself in a dusty library filled with ancient books and scrolls."
}
local gardenRoom = {
description = "You are in a beautiful garden with blooming flowers and a fountain."
}
-- Player definition
local player = {
currentRoom = startingRoom
}
-- Create game loop
local gameRunning = true
while gameRunning do
print(player.currentRoom.description)
gameRunning = false
endWszystkie lekcje w sekcji Logika i przepływ programu
1Zaawansowane iterowanie po tabelach
Iterowanie za pomocą pairs()Iterowanie za pomocą ipairs()pairs() a ipairs()Powtórka — karta postaci2Więcej funkcji biblioteki table
table.concat()Tworzenie tabel i unpack()table.sort()Sortowanie niestandardowe za pomocą funkcjiPodsumowanie — tablica najlepszych wyników5Projekt: silnik tekstowej gry przygodowej
Konfiguracja projektu: pokójŁączenie pokoiPoćwicz samodzielnie: Kompilator Lua online