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
endTutto 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.
Sfida
FacileTrasforma il conto alla rovescia nel ciclo del gioco:
- Racchiudilo in
while true do ... end. - Sostituisci
Get ready!con il round: conta alla rovescia daSettings.RoundLengthfino a 1, a un secondo di distanza, mostrandoTime left: 15,Time left: 14e 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!")
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.