Menu
CoddyTech

Il ciclo del round

Lezione 4 di 18 del corso Gioco Roblox: Sopravvivenza ai disastri di Coddy.

Una partita a round non finisce mai: lobby, round, lobby, round. Questo è un ciclo while la cui condizione è sempre vera:

while true do
	-- il conto alla rovescia nella lobby
	-- il round
end

Tutto ciò che si trova al suo interno viene eseguito di nuovo dall'inizio ogni volta che raggiunge end. Poiché un ciclo while true non termina mai, va posizionato proprio alla fine dello script: il codice che viene dopo non verrebbe mai eseguito. A ogni iterazione bisogna anche attendere in qualche punto, altrimenti il ciclo non lascerebbe mai il turno al resto del gioco e Roblox arresterebbe lo script.

Anche il conto alla rovescia del round parte da Settings.RoundLength, così i giocatori possono vedere quanto tempo devono sopravvivere.

challenge icon

Sfida

Facile

Trasforma il conto alla rovescia nel ciclo del gioco:

  1. Racchiudilo in while true do ... end.
  2. Sostituisci Get ready! con il round: conta alla rovescia da Settings.RoundLength fino a 1, a un secondo di distanza, mostrando Time left: 15, Time left: 14 e così via.

Premi Play e guarda passare un round e ricominciare il conto alla rovescia della lobby, poi premi Check.

Provalo tu

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

print("Rounds last " .. Settings.RoundLength .. " seconds")

-- Ogni giocatore riceve Wins nella classifica
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)

-- Il tabellone di stato nella lobby
local gui = Instance.new("SurfaceGui")
gui.Parent = workspace.StatusBoard

local status = Instance.new("TextLabel")
status.Name = "Status"
status.Size = UDim2.fromScale(1, 1)
status.BackgroundColor3 = Color3.fromRGB(25, 25, 35)
status.TextColor3 = Color3.fromRGB(255, 255, 255)
status.TextScaled = true
status.Text = "Welcome to Disaster Survival!"
status.Parent = gui

local function setStatus(text)
	status.Text = text
end

-- Il conto alla rovescia
for seconds = Settings.Intermission, 1, -1 do
	setStatus("Intermission: " .. seconds)
	task.wait(1)
end
setStatus("Get ready!")
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Gioco Roblox: Sopravvivenza ai disastri