Menu
CoddyTech

Ô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.

challenge icon

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
end

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch Lua online