PHP+javascript模拟Matrix画面


Posted in PHP onOctober 09, 2006

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

PHP 相关文章推荐
php中取得URL的根域名的代码
Mar 23 PHP
php正则表达匹配中文问题分析小结
Mar 25 PHP
PHP得到mssql的存储过程的输出参数功能实现
Nov 23 PHP
$_GET['goods_id']+0 的使用详解
Jun 06 PHP
PHP基于CURL进行POST数据上传实例
Nov 10 PHP
[原创]ThinkPHP让../Public在模板不解析(直接输出)的方法
Oct 09 PHP
PHP时间类完整实例(非常实用)
Dec 25 PHP
ThinkPHP的常用配置选项汇总
Mar 24 PHP
基于PHP实现商品成交时发送短信功能
May 11 PHP
微信利用PHP创建自定义菜单的方法
Aug 01 PHP
PHP迭代器接口Iterator用法分析
Dec 28 PHP
smarty模板的使用方法实例分析
Sep 18 PHP
用PHP和ACCESS写聊天室(五)
Oct 09 #PHP
用PHP和ACCESS写聊天室(四)
Oct 09 #PHP
用php和MySql来与ODBC数据连接
Oct 09 #PHP
WHOIS类的修改版
Oct 09 #PHP
很实用的一个完整email发送程序
Oct 09 #PHP
用PHP和ACCESS写聊天室(三)
Oct 09 #PHP
对javascript和select部件的结合运用
Oct 09 #PHP
You might like
索尼SONY ICF-SW7600GR电路分析与改良
2021/03/02 无线电
最新版本PHP 7 vs HHVM 多角度比较
2016/02/14 PHP
php查询及多条件查询
2017/02/26 PHP
PHP中遍历数组的三种常用方法实例分析
2019/06/24 PHP
javascript 同时在IE和FireFox获取KeyCode的代码
2010/02/07 Javascript
jquery1.5.1中根据元素ID获取元素对象的代码
2011/04/02 Javascript
javascript中节点的最近的相关节点访问方法
2013/03/20 Javascript
AngularJS入门教程(零):引导程序
2014/12/06 Javascript
jQuery中:text选择器用法实例
2015/01/03 Javascript
jQuery实现鼠标经过提示信息的地图热点效果
2015/04/26 Javascript
Javascript设计模式之观察者模式(推荐)
2016/03/29 Javascript
Vue-Router基础学习笔记(小结)
2018/10/15 Javascript
利用Vue-draggable组件实现Vue项目中表格内容的拖拽排序
2019/06/07 Javascript
js正则匹配多个全部数据问题
2019/12/20 Javascript
Vuex模块化应用实践示例
2020/02/03 Javascript
基于javascript实现移动端轮播图效果
2020/12/21 Javascript
Python设计模式之单例模式实例
2014/04/26 Python
go语言计算两个时间的时间差方法
2015/03/13 Python
在Python中通过threading模块定义和调用线程的方法
2016/07/12 Python
Python实现的各种常见分布算法示例
2018/12/13 Python
python实现多层感知器MLP(基于双月数据集)
2019/01/18 Python
python 批量添加的button 使用同一点击事件的方法
2019/07/17 Python
python retrying模块的使用方法详解
2019/09/25 Python
解决Jupyter因卸载重装导致的问题修复
2020/04/10 Python
Python爬虫简单运用爬取代理IP的实现
2020/12/01 Python
python3.9.1环境安装的方法(图文)
2021/02/02 Python
Hotels.com台湾:饭店订房网
2017/09/06 全球购物
法国购买隐形眼镜和眼镜网站:Optical Center
2019/10/08 全球购物
Foot Locker澳洲官网:美国运动服和鞋类零售商
2019/10/11 全球购物
澳大利亚领先的女帽及配饰公司:Morgan&Taylor
2019/12/01 全球购物
医学生就业推荐表自我鉴定
2014/03/26 职场文书
五一口号
2014/06/19 职场文书
公共场所禁烟标语
2014/06/25 职场文书
电工实训报告总结
2014/11/05 职场文书
三峡人家导游词
2015/01/31 职场文书
小学教师见习总结
2015/06/23 职场文书