Här är en presentation av tre olika batch-skript som simulerar Matrix-effekten i olika svårighetsgrader: lätt, mellan och avancerad.
Enkel Matrix-effekt med slumpmässiga siffror
Detta första skript visar slumpmässiga siffror i en oändlig loop utan fördröjning. Det är ett bra val för nybörjare som vill skapa en enkel Matrix-liknande effekt utan att behöva hantera fördröjning eller avancerade inställningar.
Förklaring: %random%
genererar ett slumpmässigt tal, och flera %random%
tillsammans skapar en rad av slumpmässiga siffror.
@echo off color 02 :loop echo %random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random% goto loop
Matrix-effekt med ettor och nollor samt fördröjning
Det andra skriptet lägger till fördröjning och använder en slumpmässig sekvens av bara ettor och nollor för att skapa en tydligare Matrix-effekt. Fördröjningen ger en mer kontrollerad hastighet.
Förklaring
- Skriptet genererar en rad med 40 slumpmässiga ettor och nollor och skriver ut den, sedan fördröjs utskriften.
- Fördröjning med
ping localhost -n 1 > nul
ger cirka 1 sekunds fördröjning mellan utskrifter, vilket ger en långsammare, rullande Matrix-effekt.
@echo off setlocal enabledelayedexpansion color 02 :loop set "line=" for /l %%i in (1,1,40) do ( set /a "binary=!random! %% 2" set "line=!line!!binary!" ) echo !line! ping localhost -n 1 > nul :: Fördröjning på ca 1 sekund goto loop
Matrix-effekt med sekventiell visning av ettor och nollor från vänster till höger
Detta avancerade skript visar en rad av slumpmässiga ettor och nollor, men skriver ut dem en i taget från vänster till höger. Effekten är en rullande Matrix-effekt som visas långsamt över skärmen.
Förklaring:
- Först genereras en rad med slumpmässiga ettor och nollor. Sedan skrivs varje tecken ut individuellt från vänster till höger, vilket simulerar en rullande Matrix-effekt.
- En intern fördröjningsloop
delay_loop
styr hastigheten per tecken. För att justera hastigheten kan du ändra värdet1000
idelay_loop
.
@echo off setlocal enabledelayedexpansion color 02 echo Tryck på Enter för att starta Matrix-effekten. pause > nul :: Väntar tills användaren trycker på Enter :loop set "line=" :: Generera en rad med slumpmässiga 1:or och 0:or for /l %%i in (1,1,40) do ( set /a "binary=!random! %% 2" set "line=!line!!binary!" ) :: Visa siffrorna en i taget med fördröjning for /l %%j in (0,1,39) do ( set /p "=!line:~%%j,1!"
Hantera fördröjning
Detta batch-skript skapar en Matrix-liknande effekt med slumpmässiga ettor och nollor som visas i en kontinuerlig ström på skärmen.
Förklaring:
etlocal enabledelayedexpansion
: Aktiverar ”delayed expansion” för att kunna använda!variabel!
-syntaxen, vilket är användbart inuti loopar.set /a "binary=!random! %% 2"
: Varje gång loopen körs genereras ett slumpmässigt tal, som delas med 2 för att få resultatet0
eller1
:delay_loop
): Den inbyggda fördröjningsloopen skapar en liten paus mellan varje utskrift för att simulera en långsammare, rullande effekt.set /a delay+=1
ochif %delay% lss 100 goto delay_loop
: Loopen körs tills variabelndelay
når 100 (eller det valda värdet), vilket kan justeras för längre eller kortare fördröjning. Högre värden skapar längre fördröjningar.goto loop
: När utskriften och fördröjningsloopen är klar, skickas programmet tillbaka till:loop
, och processen upprepas.
Anpassning:
- Du kan justera värdet
100
iif %delay% lss 100 goto delay_loop
för att ändra hastigheten på effekten. - Du kan lägga till eller minska antalet
!binary!
för att kontrollera längden på raden med ettor och nollor.
@echo off setlocal enabledelayedexpansion color 02 echo Välkommen! Detta skript genererar en Matrix-liknande effekt med ettor och nollor. echo Tryck på Enter för att starta programmet. echo (Tryck Ctrl + C när som helst för att avsluta skriptet.) pause > nul :: Väntar tills användaren trycker på Enter :loop set /a "binary=!random! %% 2" echo !binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary!!binary! :: Fördröjningsloop set /a delay=0 :delay_loop set /a delay+=1 if %delay% lss 100 goto delay_loop :: Justera 100 för längre eller kortare fördröjning goto loop
Sammanfattning
Dessa fyra olika skript har som syfte att simulera en Matrix-liknande effekt i kommandotolken, med olika grader av komplexitet och visuell detalj.
- De första två skripten är enkla att förstå och använder en oändlig ström av slumpmässiga siffror eller endast ettor och nollor, vilket ger en snabb och enkel visuell effekt.
- Det tredje skriptet lägger till en fördröjning, vilket gör att varje rad visas i en mer kontrollerad takt, och förbättrar effekten genom att skapa ett långsammare flöde som efterliknar Matrix-filmernas estetik.
- Det fjärde och mest avancerade skriptet simulerar en sekventiell visning av varje siffra från vänster till höger, vilket ger en komplex och autentisk rullande Matrix-effekt.
Tillsammans ger dessa skript både nybörjare och mer avancerade användare möjlighet att experimentera med att skapa visuella effekter i kommandotolken.