Menu
CoddyTech

Ôn tập: Điểm chuyển động

Thuộc phần Lập trình hướng đối tượng trong hành trình Lua của Coddy. Bài học 5 trên 70.

challenge icon

Thử thách

Dễ

Tạo một bảng có tên point với hai trường:

  • x - tọa độ x
  • y - tọa độ y

Thêm phương thức :move(dx, dy) dùng cú pháp dấu hai chấm để cộng dx vào self.x và dy vào self.y.

Bạn sẽ nhận được bốn đầu vào:

  1. Tọa độ x ban đầu
  2. Tọa độ y ban đầu
  3. Độ dịch chuyển theo x (khoảng cách di chuyển theo chiều ngang)
  4. Độ dịch chuyển theo y (khoảng cách di chuyển theo chiều dọc)

Sau khi tạo điểm với tọa độ ban đầu và gọi :move() với các giá trị dịch chuyển, hãy in vị trí cuối cùng theo đúng định dạng sau:

[x], [y]

Ví dụ: nếu vị trí ban đầu là (3, 5) và bạn di chuyển một đoạn (2, -1), đầu ra sẽ là:

5, 4

Tự làm thử

-- Đọc các giá trị đầu vào
local initial_x = tonumber(io.read())
local initial_y = tonumber(io.read())
local dx = tonumber(io.read())
local dy = tonumber(io.read())

-- TODO: Viết code bên dưới
-- 1. Tạo một bảng tên là 'point' với các trường x và y (dùng tọa độ ban đầu)
-- 2. Thêm phương thức :move(dx, dy) bằng cú pháp dấu hai chấm để thay đổi self.x và self.y


-- Gọi phương thức move và in kết quả
point:move(dx, dy)
print(point.x .. ", " .. point.y)

Tất cả bài học trong Lập trình hướng đối tượng

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