Menu
CoddyTech

回顾:移动点

本课属于 Coddy Lua 学习旅程的“面向对象编程”单元。第 5 课,共 70 课。

challenge icon

挑战

简单

创建一个名为 point 的表,包含两个字段:

  • x:x 坐标
  • y:y 坐标

使用冒号语法添加一个 :move(dx, dy) 方法,将 dx 加到 self.x 上,并将 dy 加到 self.y 上。

你会收到 4 个输入:

  1. 初始 x 坐标
  2. 初始 y 坐标
  3. x 的变化量(水平移动的距离)
  4. y 的变化量(垂直移动的距离)

使用初始坐标创建点,并调用 :move() 传入变化量后,按以下格式准确打印最终位置:

[x], [y]

例如,如果初始位置是 (3, 5),移动 (2, -1) 后,输出应为:

5, 4

亲手试试

-- 读取输入
local initial_x = tonumber(io.read())
local initial_y = tonumber(io.read())
local dx = tonumber(io.read())
local dy = tonumber(io.read())

-- TODO: 在下方编写你的代码
-- 1. 创建一个名为 'point' 的表,包含字段 x 和 y(使用初始坐标)
-- 2. 使用冒号语法添加 :move(dx, dy) 方法,修改 self.x 和 self.y


-- 调用 move 方法并打印结果
point:move(dx, dy)
print(point.x .. ", " .. point.y)

面向对象编程中的所有课

自己练习: Lua 在线编译器