Menu
CoddyTech

La boucle de manche

Leçon 4 sur 18 du cours Jeu Roblox : Survivre aux catastrophes de Coddy.

Une partie enchaîne les manches sans fin : lobby, manche, lobby, manche. C’est une boucle while dont la condition est toujours vraie :

while true do
	-- le compte à rebours du hall d'attente
	-- la manche
end

Tout ce qu’elle contient est réexécuté depuis le début chaque fois qu’elle atteint end. Comme une boucle while true ne se termine jamais, elle se trouve tout en bas du script : le code placé après elle ne s’exécuterait jamais. À chaque passage, il faut aussi attendre quelque part, sinon la boucle ne laisserait jamais le reste du jeu jouer son tour et Roblox arrêterait le script.

Le compte à rebours de la manche part aussi de Settings.RoundLength, pour que les joueurs voient combien de temps ils doivent survivre.

challenge icon

Défi

Facile

Transforme le compte à rebours en boucle du jeu :

  1. Enveloppe-le dans while true do ... end.
  2. Remplace Get ready! par le round : compte à rebours de Settings.RoundLength à 1, à une seconde d’intervalle, en affichant Time left: 15, Time left: 14, et ainsi de suite.

Appuie sur Play et regarde un round se dérouler, puis le compte à rebours du lobby recommencer, puis clique sur Check.

Essayez vous-même

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

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

-- Chaque joueur reçoit des Wins dans le classement
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)

-- Le panneau d’état dans le hall
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

-- Le compte à rebours
for seconds = Settings.Intermission, 1, -1 do
	setStatus("Intermission: " .. seconds)
	task.wait(1)
end
setStatus("Get ready!")
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Jeu Roblox : Survivre aux catastrophes