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 相关文章推荐
第1次亲密接触PHP5(2)
Oct 09 PHP
MYSQL环境变量设置方法
Jan 15 PHP
写php分页时出现的Fatal error的解决方法
Apr 18 PHP
Session保存到数据库的php类分享
Oct 24 PHP
PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法
Oct 31 PHP
PHP使用imagick读取PDF生成png缩略图的两种方法
Mar 20 PHP
ThinkPHP Mobile使用方法简明教程
Jun 18 PHP
php实现Mongodb自定义方式生成自增ID的方法
Mar 23 PHP
如何把php5.3版本升级到php5.4或者php5.5
Jul 31 PHP
PHP实现数组array转换成xml的方法
Jul 19 PHP
深入讲解PHP的对象注入(Object Injection)
Mar 01 PHP
phpcmsv9.0任意文件上传漏洞解析
Oct 20 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
PHP在获取指定目录下的目录,在获取的目录下面再创建文件,多平台
2011/08/03 PHP
PHP 时间日期操作实战
2011/08/26 PHP
php实现删除指定目录下相关文件的方法
2014/10/20 PHP
Laravel 5.0 发布 新版本特性详解
2015/02/10 PHP
php根据某字段对多维数组进行排序的方法
2015/03/07 PHP
php实现登录tplink WR882N获取IP和重启的方法
2016/07/20 PHP
javascript与CSS复习(《精通javascript》)
2010/06/29 Javascript
js实现单一html页面两套css切换代码
2013/04/11 Javascript
zTree插件之单选下拉菜单实例代码
2013/11/07 Javascript
jQuery随机密码生成的方法
2015/03/09 Javascript
js实现创建删除html元素小结
2015/09/30 Javascript
解决URL地址中的中文乱码问题的办法
2017/02/10 Javascript
深入理解Javascript中的作用域链和闭包
2017/04/25 Javascript
Angularjs上传文件组件flowjs功能
2017/08/07 Javascript
js Dom实现换肤效果
2017/10/21 Javascript
推荐15个最好用的JavaScript代码压缩工具
2019/02/13 Javascript
关于IDEA中的.VUE文件报错 Export declarations are not supported by current JavaScript version
2020/10/17 Javascript
[02:57]2014DOTA2国际邀请赛 选手辛苦解说更辛苦
2014/07/10 DOTA
[01:04]DOTA2:伟大的Roshan雕塑震撼来临
2015/01/30 DOTA
Python操作SQLite简明教程
2014/07/10 Python
python执行子进程实现进程间通信的方法
2015/06/02 Python
Python 搭建Web站点之Web服务器网关接口
2016/11/06 Python
Django实现的自定义访问日志模块示例
2017/06/23 Python
Python 互换字典的键值对实例
2019/02/12 Python
详解Python中is和==的区别
2019/03/21 Python
Python数据类型之String字符串实例详解
2019/05/08 Python
浅谈keras中自定义二分类任务评价指标metrics的方法以及代码
2020/06/11 Python
用python实现一个简单计算器(完整DEMO)
2020/10/14 Python
澳大利亚手表品牌:Time IV Change
2018/10/06 全球购物
员工培训心得体会
2013/12/30 职场文书
《唯一的听众》教学反思
2014/02/20 职场文书
读书小明星事迹材料
2014/05/03 职场文书
运动会主持词大全
2015/07/02 职场文书
教你用Python matplotlib库制作简单的动画
2021/06/11 Python
MySQL 语句执行顺序举例解析
2022/06/05 MySQL
Win11 22H2 2022怎么更新? 获得Win1122H22022版本升级技巧
2022/09/23 数码科技