Syntaxe Book Algo Book Algo Terre Algo Eau Algo Air
Problème Solution
Random
via une fonction
- Javascript -
function rnd(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min)) + min;
}
Dans un hangar
cherchez le doublon d'un colis
- LUA -
hangar = {05, 17, 36, 98, 78, 14, 11, 87, 45, 69, 78, 14, 11, 24, 15, 98, 87, 25, 01, 65, 07}
-- trouvez un doublon du colis 11 puis arrêter la recherche

cherchez = 11
trouvez = 0

-- Parcourir la liste pour trouver la variable 11 avec une boucle for
for i, v in ipairs(hangar) do
if v == cherchez then
trouvez = trouvez + 1
elseif trouvez == 2 then
print("Colis en double !!")
break
end
end
Afficher 100 rectangles
aléatoirement
- LUA / TIC-80 -
x = 100
listRect = {}

while (#listRect < x) do
local r = {}
r.larg = math.random(1,25)
r.haut = math.random(1,25)
r.x = math.random(0,239 - r.larg)
r.y = math.random(0,135 - r.haut)
r.color = math.random(1,15)

table.insert(listRect, r)
end

function TIC()

cls(0)

for i,v in ipairs(listRect) do
rect(v.x, v.y, v.larg, v.haut, v.color)
end
end
Afficher 100 rectangles
aléatoirement
sans qu'ils se touchent
- LUA / TIC-80 -
x = 100
listRect = {}

function CheckCollision(x1,y1,w1,h1, x2,y2,w2,h2)
return x1 < x2+w2 and
x2 < x1+w1 and
y1 < y2+h2 and
y2 < y1+h1
end

while (#listRect < x) do
local r = {}
local Collision = true

r.larg = math.random(1,25)
r.haut = math.random(1,25)
r.x = math.random(0,239 - r.larg)
r.y = math.random(0,135 - r.haut)
r.color = math.random(1,15)

for i,v in ipairs(listRect) do
if CheckCollision(r.x,r.y,r.larg,r.haut,v.x,v.y,v.larg,v.haut) then
Collision = false
end
end

if Collision then
table.insert(listRect, r)
end
end

function TIC()

cls(0)

for i,v in ipairs(listRect) do
rect(v.x, v.y, v.larg, v.haut, v.color)
end
end
Gestion du Timing
- LUA / TIC-80 -
local startTime = time()
local seconde = 0

function TIC()
cls() -- Efface l'écran

local currentTime = time()
local elapsedTime = currentTime - startTime

-- Vérifier si 1 seconde (1000 millisecondes) s'est écoulée
if elapsedTime >= 1000 then
startTime = currentTime -- Réinitialiser le temps de départ
seconde = seconde + 1 -- Augmenter le compteur de secondes
end

-- Afficher le nombre de secondes écoulées
print("Secondes écoulées : " .. seconde, 10, 10, 15)

-- Vous pouvez ajouter d'autres éléments ou des commandes TIC ici
end