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 相关文章推荐
提取HTML标签
Oct 09 PHP
如何在PHP中使用Oracle数据库(1)
Oct 09 PHP
php异常处理技术,顶级异常处理器
Jun 13 PHP
PHP中CURL方法curl_setopt()函数的参数分享
Jan 19 PHP
解析PHP工厂模式的好处
Jun 18 PHP
thinkphp3.2.2前后台公用类架构问题分析
Nov 25 PHP
php+xml编程之xpath的应用实例
Jan 24 PHP
php用户登录之cookie信息安全分析
May 13 PHP
Yii2压缩PHP中模板代码的输出问题
Aug 28 PHP
PHP使用PDO、mysqli扩展实现与数据库交互操作详解
Jul 20 PHP
深入学习微信网址链接解封的防封原理visit_type
Aug 15 PHP
PHP dirname(__FILE__)原理及用法解析
Oct 28 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适配器模式简单应用示例
2019/10/23 PHP
js定义对象或数组直接量时各浏览器对多余逗号的处理(json)
2011/03/05 Javascript
jQuery插件原来如此简单 jQuery插件的机制及实战
2012/02/07 Javascript
jQuery-Tools-overlay 使用介绍
2012/07/14 Javascript
jquery常用函数与方法汇总
2015/09/01 Javascript
举例讲解JavaScript中将数组元素转换为字符串的方法
2015/10/25 Javascript
jQuery搜索框效果实现代码(百度关键词联想)
2021/02/25 Javascript
jquery实现下拉框多选方法介绍
2017/01/03 Javascript
jQuery快速实现商品数量加减的方法
2017/02/06 Javascript
jquery设置css样式的多种方法(总结)
2017/02/21 Javascript
Bootstrap Scrollspy源码学习
2017/03/02 Javascript
详解如何使用Node.js编写命令工具——以vue-cli为例
2017/06/29 Javascript
vue-cli项目如何使用vue-resource获取本地的json数据(模拟服务端返回数据)
2017/08/04 Javascript
详解关于react-redux中的connect用法介绍及原理解析
2017/09/11 Javascript
Bootstrap3.3.7导航栏下拉菜单鼠标滑过展开效果
2017/10/31 Javascript
Angular搜索场景中使用rxjs的操作符处理思路
2018/05/30 Javascript
vue使用vuex实现首页导航切换不同路由的方法
2019/05/08 Javascript
Vue指令之 v-cloak、v-text、v-html实例详解
2019/08/08 Javascript
在vue-cli 3中给stylus、sass样式传入共享的全局变量
2019/08/12 Javascript
JavaScript Event Loop相关原理解析
2020/06/10 Javascript
python通过urllib2获取带有中文参数url内容的方法
2015/03/13 Python
快速了解Python开发中的cookie及简单代码示例
2018/01/17 Python
Python hashlib模块用法实例分析
2018/06/12 Python
Python3中列表list合并的四种方法
2019/04/19 Python
python线程中的同步问题及解决方法
2019/08/29 Python
Python中的Cookie模块如何使用
2020/06/04 Python
如何使用python记录室友的抖音在线时间
2020/06/29 Python
Joe Fresh官网:加拿大时尚品牌和零售连锁店
2016/11/30 全球购物
廉价航班、机票和酒店:JustFly
2018/02/07 全球购物
幼儿园英语教学反思
2014/01/30 职场文书
党支部承诺书范文
2014/03/28 职场文书
感恩老师演讲稿600字
2014/08/28 职场文书
机关副主任个人四风问题整改措施
2014/09/26 职场文书
2015关爱留守儿童工作总结
2014/12/12 职场文书
2016年暑期见闻作文
2015/11/25 职场文书
win11系统中dhcp服务异常什么意思? Win11 DHCP服务异常修复方法
2022/04/08 数码科技