まとめ:動く点
CoddyのLuaジャーニー「Object Oriented Programming」セクションの一部 — レッスン 5/70。
チャレンジ
簡単2つのフィールドを持つ point という名前のテーブルを作成してください:
x- x座標y- y座標
コロン構文を使用して、self.x に dx を、self.y に dy を加算するメソッド :move(dx, dy) を追加してください。
4つの入力を受け取ります:
- 初期のx座標
- 初期のy座標
- デルタx(水平方向の移動量)
- デルタy(垂直方向の移動量)
初期座標で point を作成し、デルタ値を指定して :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. xとyのフィールドを持つ 'point' という名前のテーブルを作成します(初期座標を使用)
-- 2. self.xとself.yを変更するコロン構文を使用した :move(dx, dy) メソッドを追加します
-- moveメソッドを呼び出し、結果を表示します
point:move(dx, dy)
print(point.x .. ", " .. point.y)