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 相关文章推荐
phplock(php进程锁) v1.0 beta1
Nov 24 PHP
PHPAnalysis中文分词类详解
Jun 13 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(五)
Jun 23 PHP
PHP结合jQuery实现找回密码
Jul 22 PHP
两种php给图片加水印的实现代码
Apr 18 PHP
培养自己的php编码规范
Sep 28 PHP
SAE实时日志接口SDK用法示例
Oct 09 PHP
PHP 7安装使用体验之性能大提升,兼容性强,扩展支持不够(升级PHP要谨慎)
Jul 27 PHP
PHP使用Redis实现防止大并发下二次写入的方法
Oct 09 PHP
PHP简单实现二维数组赋值与遍历功能示例
Oct 19 PHP
django中的ajax组件教程详解
Oct 18 PHP
Laravel手动返回错误码示例
Oct 22 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 daddslashes()和 saddslashes()有哪些区别分析
2012/10/26 PHP
php CI框架插入一条或多条sql记录示例
2014/07/29 PHP
Yii清理缓存的方法
2016/01/06 PHP
postfixadmin忘记密码后的修改密码方法详解
2016/07/20 PHP
javascript五图轮播切换实用版
2012/08/17 Javascript
JavaScript实现统计文本框Textarea字数增强用户体验
2012/12/21 Javascript
JS判断数组中是否有重复值得三种实用方法
2013/08/16 Javascript
js实例属性和原型属性示例详解
2014/11/23 Javascript
非jQuery实现照片散落桌子上,单击放大的LightBox效果
2014/11/28 Javascript
JQuery仿小米手机抢购页面倒计时效果
2014/12/16 Javascript
AngularJS中的模块详解
2015/01/29 Javascript
jQuery手机浏览器中拖拽动作的艰难性分析
2015/02/04 Javascript
jQuery实现提交按钮点击后变成正在处理字样并禁止点击的方法
2015/03/24 Javascript
js结合正则实现国内手机号段校验
2015/06/19 Javascript
JavaScript的设计模式经典之建造者模式
2016/02/24 Javascript
js实现键盘自动打字效果
2016/12/23 Javascript
解决OneThink中无法异步提交kindeditor文本框中修改后的内容方法
2017/05/05 Javascript
require.js与bootstrap结合实现简单的页面登录和页面跳转功能
2017/05/12 Javascript
webpack4 处理SCSS的方法示例
2018/09/03 Javascript
Javascript三种字符串连接方式及性能比较
2019/05/28 Javascript
vue单页应用的内存泄露定位和修复问题小结
2019/08/02 Javascript
vue实现移动端返回顶部
2020/10/12 Javascript
python代码制作configure文件示例
2014/07/28 Python
Python进阶之自定义对象实现切片功能
2019/01/07 Python
python覆盖写入,追加写入的实例
2019/06/26 Python
解决python彩色螺旋线绘制引发的问题
2019/11/23 Python
使用python写一个自动浏览文章的脚本实例
2019/12/05 Python
Python格式化输出--%s,%d,%f的代码解析
2020/04/29 Python
Django Model中字段(field)的各种选项说明
2020/05/19 Python
python 线程的五个状态
2020/09/22 Python
谷歌浏览器小字体处理方案即12px以下字体
2013/12/17 HTML / CSS
加拿大最大的五金、家居装修和园艺产品商店:RONA
2017/01/27 全球购物
数百万免费的图形资源:Freepik
2020/09/21 全球购物
竞聘上岗演讲
2014/05/19 职场文书
Python 详解通过Scrapy框架实现爬取百度新冠疫情数据流程
2021/11/11 Python
redis调用二维码时的不断刷新排查分析
2022/04/01 Redis