0

我在命令提示符下做矩阵雨效果,我想让它改变颜色,但如果我这样做:

color 0a
:start
echo %random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%

color 0b

echo %random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%

goto start

颜色变化很快。我希望它们每 5 秒左右更换一次。为此,我尝试使用 for 循环,认为这是 php,但命令提示符只是快速打开和关闭。这就是我在代码中为更改颜色的 for 循环方式添加的内容:

color 0a
:start


for ($x = 0; $x < 51; x++)
{
echo %random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%
}

color 0b

for ($y = 0; $y < 51; y++)
{
echo %random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%
}

我对PHP一无所知,也不知道它是否在我的计算机上,但似乎某种原因是因为第一个代码块有效......抱歉这个不清楚的问题,但我真的不知道我在做什么。我将如何在这个程序中创建一个 for 循环?我做得对吗?或者这只是所有计算机都附带的一些低级版本的 PHP?

4

1 回答 1

1

我现在不太记得 ms-dos 批处理脚本了,我已经有 20 多年没有使用它了。但这里有一些你可以尝试并建立的东西。我为颜色切换添加了延迟。

@ECHO OFF
set T=0
set inc=1

:start
color 0a
echo %random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%
set /a T=%T%+%inc%
if not %T%==500 goto start
set T=0
:nxtClr
color 0b

echo %random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%
set /a T=%T%+%inc%
if not %T%==500 goto nxtClr
set T=0

goto start

PS:不知道用dos批处理脚本能不能得到秒和毫秒的精度。

于 2013-08-29T17:56:34.693 回答