近日看到一段用 PHP 制作的脚本,模拟了黑客帝国里数码雨的效果,很炫。遗憾的是我将脚本保存后,忘了保存作者的主页,搜索也没有结果,所以我也不知道作者是谁了。
我尝试用纯批处理来实现,始终没有成功。鉴于大家机器上不可能都安装有 PHP ,我将其转换成了 awk 脚本,可以更方便的先体验一下效果。
看看兄弟们那位能用批处理来实现。
awk 版:
保存为批处理执行。
Gawk下载地址:http://www.klabaster.com/progs/gawk32.zip
作者原版:
——————————————分割线———————————————
***********************************
版务日志
***********************************
操 作: 主题加精
执行人: 3742668
原 因: 无论从点击还是回复上来看,此贴
都达到精华的标准
说 明: 由于目前并没有一个明确的加精依
据,所以如果对此次操作持怀疑态度
的朋友可以跟贴指出,或者于站内
的消息系统留言说明。
***********************************
[ Last edited by 无奈何 on 2007-1-1 at 04:40 AM ]
我尝试用纯批处理来实现,始终没有成功。鉴于大家机器上不可能都安装有 PHP ,我将其转换成了 awk 脚本,可以更方便的先体验一下效果。
看看兄弟们那位能用批处理来实现。
awk 版:
保存为批处理执行。
@echo off
mode con cols=80
color 02
gawk "/^#<-1/,/^#>-1/{if(!/^#/)print}" "%~f0" |gawk -f "-" %*
goto :EOF
:AwkScript
#<-1
function mt_rand(a,b) {
return int(((rand()*(1+b-a))+a))
}
BEGIN{
iWidth = 80
iDensity = 4
sText = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ~`!@#%^&*(){}_+-=\\\"'|<>?.,/"
iText = length(sText) - 1
for (i = 0; i < iWidth; i++) {
aDown = 0
}
for (;;) {
for (i = 0; i < iWidth; i++) {
aDown--
if (aDown < 0) {
aArrow = mt_rand(0, iDensity)
aDown = mt_rand(10, 25)
}
if (aArrow == 1) {
printf "%s" , substr(sText, mt_rand(0, iText), 1)
} else {
printf " "
}
}
}
}
#>-1
goto :EOF
Gawk下载地址:http://www.klabaster.com/progs/gawk32.zip
作者原版:
<?PHP
$iWidth = 80; // 文本宽度
$iDensity = 4; // 密度
$aDown = array();
$sText = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
."~`!@#$%^&*(){}_+-=\\\"'|<>?.,/";
$iText = strlen($sText) - 1;
$aArrow = array();
for ($i = 0; $i < $iWidth; $i++) {
$aDown = 0;
}
while (1) {
for ($i = 0; $i < $iWidth; $i++) {
$aDown--;
if ($aDown < 0) {
$aArrow = mt_rand(0, $iDensity);
$aDown = mt_rand(10, 25);
}
if ($aArrow == 1) {
echo substr($sText, mt_rand(0, $iText), 1);
} else {
echo " ";
}
}
// echo "\n";
// usleep(1000);
}
?>
——————————————分割线———————————————
***********************************
版务日志
***********************************
操 作: 主题加精
执行人: 3742668
原 因: 无论从点击还是回复上来看,此贴
都达到精华的标准
说 明: 由于目前并没有一个明确的加精依
据,所以如果对此次操作持怀疑态度
的朋友可以跟贴指出,或者于站内
的消息系统留言说明。
***********************************
[ Last edited by 无奈何 on 2007-1-1 at 04:40 AM ]
☆开始\运行 (WIN+R)☆
%ComSpec% /cset,=何奈无── 。何奈可无是原,事奈无做人奈无&for,/l,%i,in,(22,-1,0)do,@call,set/p= %,:~%i,1%<nul&ping/n 1 127.1>nul
%ComSpec% /cset,=何奈无── 。何奈可无是原,事奈无做人奈无&for,/l,%i,in,(22,-1,0)do,@call,set/p= %,:~%i,1%<nul&ping/n 1 127.1>nul

精华I