您现在的位置: 网页制作教程网 >> 网络编程 >> php 教程 >> PHP 实例教程 >> 文章正文

PHP+Javascript模拟Matrix画面

作者:佚名

来源:本站原创

热度:

2006-11-3 12:31:36

 直接存为*.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>

我来说两句:

1分 2分 3分 4分 5分
姓名: *


* 请各位网友遵纪守法并注意语言文明。
网站简介 | 联系方式 | 意见建议 | 版权说明
Copyright © 2007 All rights reserved
滇ICP备06006992号