Menu
CoddyTech

בונה מגדלים

חלק מהיחידה תכנות משחקים ב-Roblox במסלול ה-Lua של Coddy. שיעור 7 מתוך 24.

פונקציה היא קטע קוד בעל שם שאפשר להריץ בכל פעם שצריך. הערכים שמעבירים אליה נקראים פרמטרים:

local function greet(name)
	print("Welcome, " .. name)
end

greet("Ava")
greet("Leo")

.. מחבר שתי מחרוזות, לכן "Welcome, " .. "Ava" הוא Welcome, Ava. הקוד מדפיס את Welcome, Ava ואת Welcome, Leo. הגדרת הפונקציה רק שומרת אותה; כל קריאה, כמו greet("Ava"), מריצה את הקוד שלה כאשר name מוגדר לערך שהעברת.

פונקציה יכולה לקבל כמה פרמטרים, המופרדים בפסיקים, ולהשתמש בהם בכל מקום בתוכה, למשל ב-Size:

local function makeWall(width, height)
	local wall = Instance.new("Part")
	wall.Size = Vector3.new(width, height, 1)
	wall.Anchored = true
	wall.Parent = workspace
end

makeWall(10, 6)

makeWall(10, 6) מגדירה את width ל-10 ואת height ל-6, בסדר הזה.

חלק גדל באופן שווה כלפי מעלה וכלפי מטה מנקודת המיקום שלו, ולכן חלק שגובהו h עומד על הקרקע (Y 0) כאשר מרכזו נמצא בגובה h / 2.

challenge icon

אתגר

קל

השלם את makeTower(x, height) והשתמש בה שלוש פעמים.

  1. הגדר את Size של המגדל לרוחב של 4, לגובה של height ולעומק של 4.
  2. הגדר את Position שלו כך שיעמוד על הקרקע בנקודה x: Vector3.new(x, height / 2, 0).
  3. קרא לה עבור שלושה מגדלים: (-10, 6), (0, 12) ו-(10, 18).

נסו בעצמכם

local function makeTower(x, height)
	local tower = Instance.new("Part")
	tower.Name = "Tower"
	tower.Anchored = true
	-- גודל: רוחב 4, גובה height, עומק 4
	-- מיקום: ב-x, עומד על הקרקע (המרכז בגובה height / 2)
	tower.Parent = workspace
end

makeTower(-10, 6)
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה תכנות משחקים ב-Roblox

תרגלו בעצמכם: קומפיילר Lua אונליין