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中CI操作多个数据库的代码
Jul 05 PHP
PHP错误提示的关闭方法详解
Jun 23 PHP
php5.3 不支持 session_register() 此函数已启用的解决方法
Nov 12 PHP
php使用curl发送json格式数据实例
Dec 17 PHP
php实现字符串首字母大写和单词首字母大写的方法
Mar 14 PHP
typecho插件编写教程(六):调用接口
May 28 PHP
php实现Session存储到Redis
Nov 11 PHP
10个值得深思的PHP面试题
Nov 14 PHP
Laravel框架中Blade模板的用法示例
Aug 30 PHP
PHP大文件切割上传功能实例分析
Jul 01 PHP
laravel实现查询最后执行的一条sql语句的方法
Oct 09 PHP
PHP命名空间(namespace)原理与用法详解
Dec 11 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
留言板翻页的实现详解
2006/10/09 PHP
如何利用php array_multisort函数 对数据库结果进行复杂排序
2013/06/08 PHP
php类声明和php类使用方法示例分享
2014/03/29 PHP
php对包含html标签的字符串进行截取的函数分享
2014/06/19 PHP
Laravel 中使用 Vue.js 实现基于 Ajax 的表单提交错误验证操作
2017/06/30 PHP
用js实现上传图片前的预览(TX的面试题)
2007/08/14 Javascript
网页禁用右键实现代码(JavaScript代码)
2009/10/29 Javascript
奉献给JavaScript初学者的编写开发的七个细节
2011/01/11 Javascript
JavaScript高级程序设计 事件学习笔记
2011/09/10 Javascript
jQuery bxCarousel实现图片滚动切换效果示例代码
2013/05/15 Javascript
window.setInterval()方法的定义和用法及offsetLeft与style.left的区别
2015/11/11 Javascript
微信小程序-小说阅读小程序实例(demo)
2017/01/12 Javascript
bootstrap paginator分页前后台用法示例
2017/06/17 Javascript
webpack学习笔记之优化缓存、合并、懒加载
2017/08/24 Javascript
Express进阶之log4js实用入门指南
2018/02/10 Javascript
100行代码实现一个vue分页组功能
2018/11/06 Javascript
详解vue中router-link标签所必备了解的属性
2019/04/15 Javascript
JavaScript中0、空字符串、'0'是true还是false的知识点分享
2019/09/16 Javascript
Js实现复选框的全选、全不选反选功能代码实例
2020/02/28 Javascript
Python实现获取某天是某个月中的第几周
2015/02/11 Python
浅谈Django REST Framework限速
2017/12/12 Python
最简单的matplotlib安装教程(小白)
2020/07/28 Python
python3字符串输出常见面试题总结
2020/12/01 Python
css3实现可拖动的魔方3d效果
2019/05/07 HTML / CSS
整理HTML5移动端开发的常用触摸事件
2016/04/15 HTML / CSS
html5视频常用API接口的实战示例
2020/03/20 HTML / CSS
菲律宾领先的在线时尚商店:Zalora菲律宾
2018/02/08 全球购物
BLACKMORES澳洲官网:澳大利亚排名第一的保健品牌
2018/09/27 全球购物
担保书格式及范文
2014/04/01 职场文书
毕业设计说明书
2014/05/07 职场文书
歌唱比赛策划方案
2014/06/06 职场文书
2014年学雷锋活动总结
2014/06/26 职场文书
停水通知
2015/04/16 职场文书
道歉的话语大全
2015/05/12 职场文书
重温经典:乔布斯在斯坦福大学的毕业演讲(双语)
2019/08/26 职场文书
Netflix《海贼王》真人版剧集多张片场照曝光
2022/04/04 日漫