|
PHP+Javascript模拟Matrix画面
|
| 发表日期:2004-07-21 16:12:34 | 作者: 出处: |
|
直接存为*.php文件运行即可。
<? $color_back="#000000"; $number_w=8; $number_h=6; $space=1; $font_size=20; $speed=0; ?> <html> <head> <title>The Matrix</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="javascript"> // ***************************************************************** // Written By Caocao // caocao@eastday.com // http://caocao.oso.com.cn // ***************************************************************** number_h=<? echo $number_h;?>; number_w=<? echo $number_w;?>; step=5; text=new Array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"); grad=new Array("#000000","#004000","#008000","#00C000","#00FF00");
function line() { this.start=100; this.end=60; this.restart=0; }
function randchar() { return (text[Math.round(Math.random()*25)]); }
function initial() { matrix=new Array(); light=new Array(); for (i=0;i<number_h;i++) { for (j=0;j<number_w;j++) { matrix[i*number_h+j]="<? echo $color_back;?>"; } } for (j=0;j<number_w;j++) { light[j]=new line(); } }
function new_light() { for (j=0;j<number_w;j++) { if (light[j].restart==0) { light[j].start=0; light[j].end=-10-Math.round(Math.random()*20); light[j].restart=light[j].end-Math.round(Math.random()*20); } else { light[j].start++; light[j].end++; light[j].restart++; } } }
function new_color(i,j) { if ((light[j].start-i)<5&&(light[j].start-i)>0) { return (light[j].start-i); } if ((i-light[j].end)<5&&(i-light[j].end)>0) { return (i-light[j].end); } if ((i-light[j].end)>4&&(light[j].start-i)>4) { return (4); } return (0); }
function display() { for (i=0;i<number_h;i++) { for (j=0;j<number_w;j++) { eval("w"+i+"h"+j).innerHTML="<font color="+grad[new_color(i,j)]+">"+randchar()+"</font>"; } } }
function show() { new_light(); display(); setTimeout("show()",<? echo $speed;?>); } </script> <style type="text/css"> <!-- <? echo ".size,tr,td { font-size: ".$font_size."pt; line-height: ".$font_size."pt ;color:#00FF00}n"; ?> --> </style> </head>
<? echo "<body bgcolor=".$color_back.">";
echo "<table width=".($number_w*$font_size)." border=0 cellspacing=".$space." cellpadding=0>"; for ($i=0;$i<$number_h;$i++) { echo "<tr>"; for ($j=0;$j<$number_w;$j++) { echo "<td id=w".$i."h".$j.">M</td>"; } echo "</tr>"; } echo "</table>"; ?>
<script language="javascript"> initial(); show(); </script> </body> </html>
| |
【返回顶部】
【打印本页】
【关闭窗口】
|
|
|