Matrix_Digital_Rain_Task_Batch_Script
Matrix_Digital_Rain_Task_Batch_Script
@echo off
setlocal enabledelayedexpansion
:matrix_loop
for /l %%y in (1,1,%col%) do (
if !ctr_col[%%y]! equ 0 (
set "disp_col[%%y]= "
) else (
set /a "rnd_digit=!random! %% 10"
if !ctr_col[%%y]! equ 1 (
set "disp_col[%%y]=%esc%[97m!rnd_digit!%esc%[32m"
) else if !ctr_col[%%y]! equ 2 (
set "disp_col[%%y]=%esc%[92m!rnd_digit!%esc%[32m"
) else (
set "disp_col[%%y]=!rnd_digit!"
)
set /a "ctr_col[%%y]=(!ctr_col[%%y]! + 1) %% (%rain_length% + 1)"
)
rem drop rain randomly
set /a "rnd_drop=!random! %% 20"
if !rnd_drop! equ 0 set "ctr_col[%%y]=1"
)
set "disp_line=%esc%[32m"
for /l %%y in (1,1,%col%) do set "disp_line=!disp_line!!disp_col[%%y]!"
<nul set /p "=%esc%[1T%esc%[1;1H" %== scroll down and set cursor position to home
==%
echo(%disp_line%
goto matrix_loop