Menu
CoddyTech

Rastgele Bir Kule

Coddy'nin Roblox Oyunu: Sonsuz Kule kursunda ders 3 / 18.

Aynı aşamadan beş kez oluşan bir kule hiç eğlenceli değil. ServerStorage.Stages yedi tür içerir: Steps, KillBricks, Conveyor, VanishingSteps, Bounce, Spinner ve Lasers. Her kat için rastgele birini seç:

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

math.random(1, #all), 1 ile aşama sayısı arasında bir tam sayıdır; dolayısıyla her aşamanın seçilme olasılığı aynıdır. Çoğu henüz hiçbir şey yapmıyor: döndürücüleri, bantları ve lazerleri bir sonraki bölümde canlanacak.

Son aşamanın üzerine, tırmanışın sona erdiği altın bir platform olan ServerStorage.Finish yerleştirilir. stack zaten tüm Model'leri yükselttiğinden Finish'i de yükseltir.

challenge icon

Görev

Kolay
  1. pickStage() yaz: stages öğelerinden rastgele birini döndür.
  2. buildTower içinde, stages.Steps yerine pickStage() öğesini istifle.
  3. Döngüden sonra, en üste ServerStorage.Finish istifle.

Play düğmesine birkaç kez bas: her kule farklı olur. Ardından Check düğmesine bas.

Kendin dene

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")

-- Her oyuncu liderlik tablosunda Wins kazanır
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)

-- Bir modelin kopyasını kulenin tepesine yerleştirir; kopyayı ve yeni tepe yüksekliğini döndürür
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 aşamalarından bir kule oluşturur
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 iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Roblox Oyunu: Sonsuz Kule bölümündeki tüm dersler