-- Pointクラス作成

Point = Point or {
	point_count = 0
}

function Point:new()
	local t = {} -- インスタンスとして使用するテーブル
	
	-- ここでメンバ変数の定義
	t.x = 0
	t.y = 0

	-- クラス変数をインクリメント
	Point.point_count = Point.point_count + 1

	-- テーブルに見当たらないキーはクラスから引いてくるように設定
	setmetatable(t, { __index = Point })
	return t
end

-- 以下メンバ関数の定義
function Point:move_to(dx, dy)
	self.x = dx
	self.y = dy
end

function Point:to_string()
	return string.format("point(%d, %d)", self.x, self.y)
end