PHP+javascript模拟Matrix画面
PHP+javascript模拟Matrix画面,PHP+javascript模拟Matrix画面
<?
$color_back="#000000";
$number_w=8;
$number_h=6;
$space=1;
$font_size=20;
$speed=0;
?
<html
<head
<titleThe 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()+"&l