From ec55f179f4c71d40f4c65ac9d22d56d924e7239f Mon Sep 17 00:00:00 2001 From: Smok1e <33802666+Smok1e@users.noreply.github.com> Date: Wed, 19 Jun 2024 11:20:34 +0300 Subject: [PATCH] update rain --- Wallpapers/Rain.wlp/Main.lua | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/Wallpapers/Rain.wlp/Main.lua b/Wallpapers/Rain.wlp/Main.lua index f599f388..9b0fe0fd 100644 --- a/Wallpapers/Rain.wlp/Main.lua +++ b/Wallpapers/Rain.wlp/Main.lua @@ -29,8 +29,15 @@ end -------------------------------------------------------------------------------- +local chars = { + [-1] = "/", + [ 0] = "|", + [ 1] = "\\" +} + local drops = {} -local lastUpdateTime = computer.uptime() +local lastUpdateTime, dropsDirection = computer.uptime(), math.random(-1, 1) +local lastDirectionChangeTime = lastUpdateTime wallpaper.draw = function(wallpaper) -- Spawning drops @@ -51,7 +58,7 @@ wallpaper.draw = function(wallpaper) screen.drawRectangle(wallpaper.x, wallpaper.y, wallpaper.width, wallpaper.height, config.backgroundColor, 0, " ") -- Rendering drops - local drop, x, y + local char, drop, x, y = chars[dropsDirection] for i = 1, #drops do drop = drops[i] @@ -63,19 +70,24 @@ wallpaper.draw = function(wallpaper) wallpaper.y + y, config.backgroundColor, drop.color, - (x == wallpaper.width - 1 or y == wallpaper.height - 1) and '*' or '\\' + (x == wallpaper.width - 1 or x == 1 or y == wallpaper.height - 1 or y == 1) and '*' or char ) end -- Updating drops local updateTime = computer.uptime() local deltaTime = updateTime - lastUpdateTime + + if updateTime - lastDirectionChangeTime > 20 then + dropsDirection = math.random(-1, 1) + lastDirectionChangeTime = updateTime + end local i = 1 while i <= #drops do drop = drops[i] - drop.x = drop.x + drop.speed * config.speed * deltaTime + drop.x = drop.x + drop.speed * config.speed * deltaTime * dropsDirection drop.y = drop.y + drop.speed * config.speed * deltaTime if drop.x < 0 then