返回列表 发帖

[游戏娱乐] 批处理数字雨

以前写的,清理文件的时候翻到,稍微改了下发上来,呃,好吧挺老套的
cls 刷屏会闪,删掉它也可以正常运行,只是显示时好像也会偶尔抖一抖
常数 K 的值和出现新数字串的频率成正比:
@echo off&setlocal enabledelayedexpansion&color a
set K=80
for /l %%b in (1 3 77) do set "last=!last!   "
set "space=                    "
for /l %%a in (0 1 22) do set "screen=!last!  !screen!"
set screen=!screen:~2!
for /l %%a in () do (
   for /l %%b in (1 3 77) do (
      if "!last:~%%b,1!"==" " (
         set /a "$=(!random!%%(K+2))-K"
      ) else (
         set /a "$=(!random!/2000+8)/9-1"
      )
      if !$! lss 0 (set "str=!str!   ") else set "str=!str! !$! "
   )
   set "screen=!str!  !screen!"
   set last=!str!&set "str="
   cls
   echo;!screen:~,590!!space!!screen:~610,60!    !time!     !screen:~690,60!!space!!screen:~770!
   for /l %%a in (1 1 2) do ping /n 1 127.1 >nul
   set "screen=!screen:~,-80!"
)COPY

回复 1# CrLf

翻老帖找的, 配上音乐更有感哦
@echo off & title The Matrix & setlocal enabledelayedexpansion
for /f "tokens=2 delims=[]" %%a in ('ver') do for /f "tokens=2 delims=. " %%a in ("%%a") do set /a "FullScreen=-((%%a-6)>>31)"
if "%1"=="" (
  for %%a in (  FontSize:00060004
                FontFamily:00000030
                WindowSize:00320050
                ScreenColors:0000000a
                CodePage:000001b5
                ScreenBufferSize:00320050
                FullScreen:!FullScreen!
  ) do for /f "tokens=1,2 delims=:" %%b in ("%%a") do (
    >nul reg add HKCU\Console\TheMatrix /v %%b /t reg_dword /d 0x%%c /f
  )
  start "TheMatrix" /max "%ComSpec%" /c "%~s0" 1 & exit
) else ( >nul reg delete HKCU\Console\TheMatrix /f )
REM "Main Title/Trinity Infinity" – 3:54
start /min wmplayer http://pisa.ucsd.edu/cse125/2001/cse190g1/matrix4.mp3
REM "Unable to Speak" – 1:15
REM http://www.dondavis.net/media/matrix/matrix_2.mp3
REM "The Power Plant" – 2:41
REM "Welcome to the Real World" – 2:28
REM "The Hotel Ambush" – 5:23
REM "Exit Mr. Hat" – 1:23
REM http://dt.leonards.info/COFFdD0xMzM4ODkzOTQ3Jmk9MTE3LjY0Ljg1LjY2JnU9U29uZ3MvdjEvZmFpbnRRQy9jYi8yZDUzNDI2OGY5N2YwNGY4ODNkZWMzNjUxMTBjMDVjYi5tcDMmbT04NDhmMjdmN2ViZmZkZDQ1ZmViZjExZGY5NDkxNjA3OSZ2PWRvd24mbj1FeGl0JTIwTXIuJTIwSGF0JnM9tefTsNStyfkmcD1z.mp3
REM "A Virus" – 1:33
REM "Bullet-Time" – 1:10
REM "Ontological Shock" – 3:32
REM "Anything Is Possible" – 6:48
set "Matrix="
set /a "wid=80,hei=50,iMax=wid*hei, sumOfStream=wid*1/2"
for /l %%i in (1 1 !iMax!) do set "Matrix= !Matrix!"
set "bss=!Matrix: =!"
rem 下行有好些字符想必被论坛处理掉了, 会影响效果啊, 请下载附件吧
set "dic=*_-+|<>'`:.1麴9痫?ō83佧?70?6??
set "dicLen=42"
for /l %%# in (1 1 !sumOfStream!) do set "s%%#=0"
for /l %%* in (0 0 0) do (
  for /l %%# in (1 1 !sumOfStream!) do (
    if !s%%#! leq 1 (
      set /a "h%%#=!random!%%(hei-1)+2,p0%%#=!random!%%(wid*(hei+1-h%%#))+1,l%%#=!random! %% h%%# + 1,s%%#=l%%#+h%%#,h%%#+=1,pg%%#=p0%%#,pc%%#=p0%%#"
    )
    set /a "s%%#-=1,l%%#-=1,h%%#-=1,old=(l%%#-1)>>31,grow=-h%%#>>31, old0=-^!l%%#,pc%%#=(old0&p0%%#)|(~old0&pc%%#)"
    if !old! neq 0 (set "chrc= ") else set "chrc="
    if !grow! neq 0 (
      set /a "r=!random! %% dicLen"
      for %%r in (!r!) do set "chrg=!dic:~%%r,1!"
    ) else set "chrg="
    for %%i in (g c) do (
      if defined chr%%i (
        set /a "lL=p%%i%%#-1, lR=iMax-p%%i%%#, r=!random! %% dicLen"
        for /f "tokens=1-3" %%a in ("!lL! !p%%i%%#! !lR!") do (set "Matrix=!Matrix:~0,%%a!!chr%%i!!Matrix:~%%b,%%c!")
        set /a "p%%i%%#+=wid"
      )
    )
  )
  cls & <nul set /p "=!Matrix:~0,-1!!bss!"
  set "title="
  for /l %%i in (0 !wid! 1000) do set "title=!title!!Matrix:~%%i,1!"
  title,"!title!
)
exitCOPY

TOP

为什么窗口很小?

TOP

顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶

TOP

xuexuexuexi!!

TOP

返回列表