Menu
CoddyTech
flag Ar iconالعربيةdown icon

برج عشوائي

الدرس 3 من 18 في دورة لعبة Roblox: البرج اللانهائي على Coddy.

برج من المرحلة نفسها خمس مرات ليس ممتعًا. يحتوي ServerStorage.Stages على سبعة أنواع: الدرجات، وكتل القتل، والسير الناقل، والدرجات المتلاشية، والارتداد، والدوّار، والليزر. اختر واحدًا عشوائيًا لكل طابق:

local all = stages:GetChildren()
local stage = all[math.random(1, #all)]

math.random(1, #all) هو عدد صحيح من 1 إلى عدد المراحل، لذا تتساوى فرصة اختيار كل مرحلة. معظمها لا يفعل شيئًا بعد: ستدب الحياة في دوّاراتها وأحزمتها والليزر في الفصل التالي.

يوضع فوق المرحلة الأخيرة ServerStorage.Finish، وهي منصة ذهبية تنتهي عندها رحلة التسلق. ترفع stack أي نموذج بالفعل، لذا فهي ترفع Finish أيضًا.

challenge icon

التحدي

سهل
  1. اكتب pickStage(): أرجِع عنصرًا فرعيًا عشوائيًا من stages.
  2. في buildTower، رصّ pickStage() بدلًا من stages.Steps.
  3. بعد الحلقة، رصّ ServerStorage.Finish في الأعلى.

اضغط على Play عدة مرات: سيكون كل برج مختلفًا. ثم اضغط على Check.

جرّب بنفسك

local Players = game:GetService("Players")
local ServerStorage = game:GetService("ServerStorage")
local Settings = require(game.ReplicatedStorage.Settings)

local stages = ServerStorage.Stages
local tower = nil

print("Each tower has " .. Settings.StageCount .. " stages")

-- يحصل كل لاعب على Wins في لوحة المتصدرين
Players.PlayerAdded:Connect(function(player)
	local leaderstats = Instance.new("Folder")
	leaderstats.Name = "leaderstats"
	leaderstats.Parent = player

	local wins = Instance.new("IntValue")
	wins.Name = "Wins"
	wins.Parent = leaderstats
end)

-- ضع نسخة من نموذج فوق البرج؛ تُرجع النسخة والارتفاع الجديد لقمة البرج
local function stack(template, bottom)
	local copy = template:Clone()
	local box, size = copy:GetBoundingBox()
	local lift = bottom - (box.Position.Y - size.Y / 2)
	copy:PivotTo(copy:GetPivot() + Vector3.new(0, lift, 0))
	copy.Parent = tower
	return copy, bottom + size.Y
end

-- أنشئ برجًا من مرحلة Steps
local function buildTower()
	tower = Instance.new("Model")
	tower.Name = "Tower"
	tower.Parent = workspace
	local top = 0
	for i = 1, Settings.StageCount do
		local stage, newTop = stack(stages.Steps, top)
		top = newTop
	end
end

buildTower()
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس لعبة Roblox: البرج اللانهائي