Ôn tập: Bảng điểm cao
Thuộc phần Logic và luồng chương trình trong hành trình Lua của Coddy. Bài học 9 trên 54.
Thử thách
DễViết một hàm (function) updateHighScores nhận một bảng scores và một số newScore, rồi trả về bảng điểm cao đã cập nhật, chỉ gồm 5 điểm cao nhất theo thứ tự giảm dần.
Thêm điểm mới vào bảng, sắp xếp tất cả điểm từ cao nhất đến thấp nhất và chỉ giữ lại 5 điểm cao nhất.
Logic:
- Dùng
table.insert()để thêm điểm mới vào bảng điểm - Dùng
table.sort()với một hàm so sánh tùy chỉnh để sắp xếp điểm theo thứ tự giảm dần, từ cao nhất đến thấp nhất - Nếu bảng có hơn 5 điểm, dùng
table.remove()để xóa các điểm ngoài 5 điểm cao nhất - Trả về bảng điểm đã cập nhật
Tham số:
scores(table): Một bảng dạng danh sách chứa các điểm cao hiện tại dưới dạng sốnewScore(number): Điểm mới cần thêm vào bảng
Giá trị trả về: Một bảng chứa 5 điểm cao nhất, được sắp xếp từ cao nhất đến thấp nhất (table)
Tự làm thử
function updateHighScores(scores, newScore)
-- Viết code ở đây
endTất cả bài học trong Logic và luồng chương trình
2Các hàm khác của thư viện table
table.concat()Tạo table và unpack()table.sort()Sắp xếp tùy chỉnh bằng hàmÔn tập: Bảng điểm cao5Dự án: Bộ máy trò chơi phiêu lưu bằng văn bản
Thiết lập dự án: Căn phòngLiên kết các phòngTự luyện tập: Trình biên dịch Lua online