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 相关文章推荐
一个可查询所有表的“通用”查询分页类
Oct 09 PHP
定制404错误页面,并发信给管理员的程序
Oct 09 PHP
PHP Socket 编程
Apr 09 PHP
PHP中Date()时间日期函数的使用方法小结
Apr 20 PHP
php下载excel无法打开的解决方法
Dec 24 PHP
支持中文和其他编码的php截取字符串函数分享(截取中文字符串)
Mar 13 PHP
ThinkPHP3.1新特性之字段合法性检测详解
Jun 19 PHP
php判断GIF图片是否为动画的方法
Sep 04 PHP
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
Aug 23 PHP
PHP的Socket网络编程入门指引
Aug 11 PHP
深入讲解PHP的Yii框架中的属性(Property)
Mar 18 PHP
php连接微软MSSQL(sql server)完全攻略
Nov 27 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
DC这些乐高系列动画电影你看过几部?
2020/04/09 欧美动漫
用Apache反向代理设置对外的WWW和文件服务器
2006/10/09 PHP
shopex中集成的站长统计功能的代码简单分析
2011/08/11 PHP
php实现的错误处理封装类实例
2017/06/20 PHP
PHP面向对象五大原则之里氏替换原则(LSP)详解
2018/04/08 PHP
实现PHP中session存储及删除变量
2018/10/15 PHP
Smarty缓存机制实例详解【三种缓存方式】
2019/07/20 PHP
javascript flash下fromCharCode和charCodeAt方法使用说明
2008/01/12 Javascript
javascript 随机展示头像实现代码
2011/12/06 Javascript
javascript移动设备Web开发中对touch事件的封装实例
2014/06/05 Javascript
JS+DIV+CSS实现的经典标签切换效果代码
2015/09/14 Javascript
跟我学习javascript的严格模式
2015/11/16 Javascript
基于JS实现新闻列表无缝向上滚动实例代码
2016/01/22 Javascript
轻松掌握JavaScript状态模式
2016/09/07 Javascript
JS实现表单多文件上传样式美化支持选中文件后删除相关项
2016/09/30 Javascript
Angular使用ng-messages与PHP进行表单数据验证
2016/12/28 Javascript
JS 调试中常见的报错问题解决方法
2017/05/20 Javascript
Mac系统下Webstorm快捷键整理大全
2017/05/28 Javascript
vue-cli webpack模板项目搭建及打包时路径问题的解决方法
2018/02/26 Javascript
详解微信小程序网络请求接口封装实例
2019/05/02 Javascript
Vue前端项目部署IIS的实现
2020/01/06 Javascript
浅谈javascript如何获取文件后缀名
2020/08/07 Javascript
浅谈vue使用axios的回调函数中this不指向vue实例,为undefined
2020/09/21 Javascript
[03:39]DOTA2英雄梦之声_第05期_幽鬼
2014/06/23 DOTA
Python计算字符宽度的方法
2016/06/14 Python
Sanic框架蓝图用法实例分析
2018/07/17 Python
详解Python网络框架Django和Scrapy安装指南
2019/04/01 Python
基于Tensorflow使用CPU而不用GPU问题的解决
2020/02/07 Python
Python2与Python3关于字符串编码处理的差别总结
2020/09/07 Python
python可视化 matplotlib画图使用colorbar工具自定义颜色
2020/12/07 Python
Python爬虫scrapy框架Cookie池(微博Cookie池)的使用
2021/01/13 Python
Nike西班牙官方网站:Nike.com (ES)
2017/10/30 全球购物
发现世界上最好的珠宝设计师:JewelStreet
2017/12/17 全球购物
Speedo速比涛中国官方网站:全球领先泳装运动品牌
2018/04/24 全球购物
2015年学生管理工作总结
2015/05/26 职场文书
Python装饰器的练习题
2021/11/23 Python