黑客帝国里数码雨批处理源码,学习批处理变量循环和产生随机数精彩代码
批处理重写这些比较有意思的代码之一就是写一个跳舞机的代码,这个代码主要学习到的是:批处理永久循环+随机数+延时代码。其中比较有意思的是实现的原理。首先来看看运行后效果截图吧:
首先考虑到要清屏,然后在屏幕上画出这个图形,这是典型的九空格,其他的就是表格,固定的字符了。所以咱们要做的就是每隔一秒钟循环一次,计算出这九空格变量的值,其中只有一个是有值的,其他的都用空格填充就好了。变量取名为n1~n9,那么上图中只有n8有值,是右箭头→。
经过上面分析后,编码就不难了,主要还是循环+随机数,随机n1~n9那个框有值,值也取随机字符串↓↑←→↖↗↙↘▲▼◤◢◣◥里面的一个字符。
代码如下:
@echo off :: 模拟跳舞机显示变换的图案 mode con cols=40 lines=20 set str=↓↑←→↖↗↙↘▲▼◤◢◣◥ :begin for /l %%i in (1,1,9) do set n%%i= set /a num=%random%%%14 call set char=%%str:~%num%,1%% set /a num=%random%%%9+1 set n%num%=%char% call :result goto begin :result cls echo. echo. echo. echo. echo. echo ┌──┬──┬──┐ echo │ %n1% │ %n2% │ %n3% │ echo ├──┼──┼──┤ echo │ %n4% │ %n5% │ %n6% │ echo ├──┼──┼──┤ echo │ %n7% │ %n8% │ %n9% │ echo └──┴──┴──┘ ping -n 2 127.1>nul goto :eof