JavaScript编写的网页小游戏,很给力


Posted in Javascript onAugust 18, 2017
以下为游戏界面:
JavaScript编写的网页小游戏,很给力
以下为游戏代码:

<html>
<head>
  <script language="JavaScript">
    <!-- Original: Nick Young () -->
    <!-- recompose: Pakchoi () -->
    var timerID = null;
    var INT = 40;
    var loadFLG = 0;
    var gameFLG = 0;
    var missFLG = 0;
    var tim = 0;
    var blcol = new Array(5); // block color
    var blsta = new Array(40); // block status
    var blNO = new Array(40); // block No
    var blclr = 0; // clear block
    var ballX = 0; // ball data
    var ballY = 0;
    var ballN = 5;
    var ballDX = 0;
    var ballDY = 0;
    var tmpRL = 193;
    var X = 0;
    blcol[0] = "blue";
    blcol[1] = "yello";
    blcol[2] = "red";
    blcol[3] = "purple";
    blcol[4] = "#FF0000";
    blcol[5] = "black";
    function mainF() {
      clearTimeout(timerID);
      tim = tim + 1;
      with (Math) {
        tmptim = floor(tim / 10)};
      document.forms[0].TM.value = tmptim;
      ballX = ballX + ballDX;
      ballY = ballY + ballDY;
      outCHK();
      blkCHK();
      ball.style.posTop = ballY;
      ball.style.posLeft = ballX;
      racket.style.posLeft = tmpRL;
      if (gameFLG == 01) {
        timerID = setTimeout("mainF()", INT);
      }
    }
    function initG() {
      if (blclr >= 40) {
        blclr = 0;
        tim = 0;
        ballN = 3;
        with (Math) {
          tmptim = floor(tim / 10);
        }
        document.forms[0].TM.value = tmptim;
        clrmes.style.posTop = -1000;
        clrmes.style.posLeft = -1000;
        ovrmes.style.posTop = -1000;
        ovrmes.style.posLeft = -1000;
        for (ib = 0; ib < 5; ib++) {
          for (ia = 0; ia < 8; ia++) {
            chc(ib * 8 + ia +1, ib);
            blsta[ib * 8 + ia] = ib;
          }
        }
      }
      document.forms[0].BL.value = ballN;
      starter.style.posTop = -1000;
      starter.style.posLeft = -1000;
      gameFLG = 1;
      loadFLG = 1;
      ballX = 209;
      ballY = 270;
      ballDX =- 8;
      ballDY =- 8;
      tmpRL = 193;
      missFLG = 0;
      timerID = setTimeout("mainF()", INT);
    }
    function SUP() {
      UP.outerHTML = "<DIV ID='DN' STYLE='position:absolute'><A HREF='javascript:SDN()'>SPEED DOWN</A></DIV>";
      DN.style.posTop = 170;
      DN.style.posLeft = 432;
      INT = 40;
    }
    function SDN() {
      DN.outerHTML = "<DIV ID='UP' STYLE='position:absolute'><A HREF='javascript:SUP()'>SPEED UP</A></DIV>";
      UP.style.posTop = 170;
      UP.style.posLeft = 432;
      INT = 50;
    }
    function MouseMv() {
      if (loadFLG == 1) {
        tmpRL = X - 20;
        if (tmpRL < 16) { tmpRL = 16; }
        if (tmpRL > 370) { tmpRL = 370; }
      }
    }
    function outCHK() {
      if (ballX < 16){ ballX = 32 - ballX; ballDX = -ballDX; }
      if (ballX > 401){ ballX = 802 - ballX; ballDX = -ballDX; }
      if (ballY < 16){ ballY = 32 - ballY; ballDY = -ballDY; }
      if (ballY >= 272) {
        if (missFLG == 0) {
          tmpX = (ballDX / ballDY) * (272 - ballY) + ballX;
          if (tmpX >= tmpRL - 12) {
            if (tmpX <= tmpRL + 42) {
              ballY = 272; ballDY = -ballDY;
              ballX = tmpX;
              ballRD = tmpX - tmpRL;
              with (Math){ ballDX = 8 * abs(ballDX) / ballDX; }
              if (ballRD < -4){ ballDX = -15; }
              if (ballRD > 36){ ballDX = 15; }
              if (ballRD >= 14){ if (ballRD <= 16) { ballDX = -2; } }
              if (ballRD >= 17){ if (ballRD <= 20) { ballDX = 2; } }
              if (ballRD >= 0){ if (ballRD <= 4) { ballDX = -4; } }
              if (ballRD >= 28){ if (ballRD <= 32) { ballDX = 4; } }
              if (ballRD >= -4){ if (ballRD <= -1) { ballDX = -11; } }
              if (ballRD >= 33){ if (ballRD <= 36) { ballDX = 11; } }
            }
          }
          if (ballDY > 0){ missFLG = 1; }
        }
        else {
          if (ballY > 290){ missFLG = 0; ballN = ballN - 1; gameEnd(); }
        }
      }
    }
    function blkCHK() {
      tmpY = ballY + 4;
      tmpX = ballX + 4;
      if (tmpY >= 48) {
        if (tmpY <= 147) {
          if (tmpX >= 29) {
            if (tmpX <= 396) {
              with (Math) {
                ia = floor((tmpX - 29) / 46);
                ib = floor((tmpY - 48) / 20);
                ic = ib * 8 + ia;
              }
              if (blsta[ic] <= 4) {
                tmpbc = blsta[ic] + 1;
                blsta[ic] = tmpbc;
                chc(ic + 1, tmpbc);
                if (tmpbc == 5){ blclr = blclr + 1; }
                if (blclr >= 40){ gameEnd(); }
                if (ballDX > 0) {
                  iy=(ballDY / ballDX) * (29 + 46 * ia - tmpX) + tmpY;
                  if (iy > 48 + 20 * ib + 18) {
                    tmpY1 = 48 + 20 * ib + 18;
                    tmpX1 = (ballDX / ballDY) * (48 + 20 * ib + 18 - tmpY) + tmpX;
                    ballX = tmpX1 - 4;
                    ballY = tmpY1 - 4;
                    ballDY = -ballDY;
                  }
                  else {
                    if (iy < 44 + 20 * ib) {
                      tmpY1 = 48 + 20 * ib;
                      tmpX1 = (ballDX / ballDY) * (48 + 20 * ib - tmpY) + tmpX;
                      ballX = tmpX1 - 4;
                      ballY = tmpY1 - 4;
                      ballDY = -ballDY;
                    }
                    else {
                      tmpX1 = 29 + 46 * ia;
                      tmpY1 = (ballDY / ballDX) * (29 + 46 * ia - tmpX) + tmpY;
                      ballX = tmpX1 - 4;
                      ballY = tmpY1 - 4;
                      ballDX = -ballDX;
                    }
                  }
                }
                else {
                  iy = (ballDY / ballDX) * (29+46 * ia + 44 - tmpX) + tmpY;
                  if (iy > 48 + 20 * ib + 18) {
                    tmpY1 = 48 + 20 * ib + 18;
                    tmpX1 = (ballDX / ballDY) * (48 + 20 * ib + 18 - tmpY) + tmpX;
                    ballX = tmpX1 - 4;
                    ballY = tmpY1 - 4;
                    ballDY = -ballDY;
                  }
                  else {
                    if (iy < 44 + 20 * ib) {
                      tmpY1 = 48 + 20 * ib;
                      tmpX1 = (ballDX / ballDY) * (48 + 20 * ib - tmpY) + tmpX;
                      ballX = tmpX1 - 4;
                      ballY = tmpY1 - 4;
                      ballDY = -ballDY;
                    }
                    else {
                      tmpX1 = 29+46 * ia + 44;
                      tmpY1 = (ballDY / ballDX) * (29 + 46 * ia + 44 - tmpX) + tmpY;
                      ballX = tmpX1 - 4;
                      ballY = tmpY1 - 4;
                      ballDX = -ballDX;
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
    function gameEnd() {
      document.forms[0].BL.value = ballN;
      gameFLG = 0;
      loadFLG = 0;
      starter.style.posTop = 200;
      starter.style.posLeft = 180;
      if (blclr >= 40) {
        clrmes.style.posTop = 150;
        clrmes.style.posLeft = 160;
      }
      if (ballN <= 0) {
        ovrmes.style.posTop = 150;
        ovrmes.style.posLeft = 160;
        blclr = 40;
      }
    }
    function onLD() {
      bgIE.style.posTop = 16;
      bgIE.style.posLeft = 16;
      ball.style.posTop = 270;
      ball.style.posLeft = 209;
      racket.style.posTop = 280;
      racket.style.posLeft = 193;
      info.style.posTop = 16;
      info.style.posLeft = 432;
      starter.style.posTop = -1000;
      starter.style.posLeft = -1000;
      clrmes.style.posTop = -1000;
      clrmes.style.posLeft = -1000;
      ovrmes.style.posTop = -1000;
      ovrmes.style.posLeft = -1000;
      DN.style.posTop = 170;
      DN.style.posLeft = 432;
      for (ib = 0; ib < 5; ib++) {
        for (ia = 0; ia < 8; ia++) {
          blsta[ib * 8 + ia] = ib;
        }
      }
      starter.style.posTop = 200;
      starter.style.posLeft = 180;
    }
    function chc(bno,bcl) {
      tmpbno = ((bno < 10.5) ? "b0" : "b") + (bno-1);
      eval(tmpbno).bgColor = blcol[bcl];
    }
    // End -->
  </script>
</head>
<body onLoad="onLD();" onMouseMove='X=event.x;MouseMv();'>
<span id=info style='position:absolute'>
<pre>
<font style="font-size:24px" color="#000044"><i><b>PONG</b></i></font>
<form>
  Ball: <input type=text name=BL size=5 value=5>
  Time: <input type=text name=TM size=5 value=0>
</form>
</pre>
</span>
<script language="JavaScript">
  <!-- block image write-->
  with (document) {
    write("<table id='bgIE' width='394' height='300' bgcolor='#000000' style='position:absolute'><td></td></table>");
    write("<table id='b00' width='42' height='16' bgcolor='#FFFF00' style='position:absolute; top:48; left:29'><td></td></table>");
    write("<table id='b01' width='42' height='16' bgcolor='#FFFF00' style='position:absolute; top:48; left:75'><td></td></table>");
    write("<table id='b02' width='42' height='16' bgcolor='#FFFF00' style='position:absolute; top:48; left:121'><td></td></table>");
    write("<table id='b03' width='42' height='16' bgcolor='#FFFF00' style='position:absolute; top:48; left:167'><td></td></table>");
    write("<table id='b04' width='42' height='16' bgcolor='#FFFF00' style='position:absolute; top:48; left:213'><td></td></table>");
    write("<table id='b05' width='42' height='16' bgcolor='#FFFF00' style='position:absolute; top:48; left:259'><td></td></table>");
    write("<table id='b06' width='42' height='16' bgcolor='#FFFF00' style='position:absolute; top:48; left:305'><td></td></table>");
    write("<table id='b07' width='42' height='16' bgcolor='#FFFF00' style='position:absolute; top:48; left:351'><td></td></table>");
    write("<table id='b08' width='42' height='16' bgcolor='#FFCF00' style='position:absolute; top:68; left:29'><td></td></table>");
    write("<table id='b09' width='42' height='16' bgcolor='#FFCF00' style='position:absolute; top:68; left:75'><td></td></table>");
    write("<table id='b10' width='42' height='16' bgcolor='#FFCF00' style='position:absolute; top:68; left:121'><td></td></table>");
    write("<table id='b11' width='42' height='16' bgcolor='#FFCF00' style='position:absolute; top:68; left:167'><td></td></table>");
    write("<table id='b12' width='42' height='16' bgcolor='#FFCF00' style='position:absolute; top:68; left:213'><td></td></table>");
    write("<table id='b13' width='42' height='16' bgcolor='#FFCF00' style='position:absolute; top:68; left:259'><td></td></table>");
    write("<table id='b14' width='42' height='16' bgcolor='#FFCF00' style='position:absolute; top:68; left:305'><td></td></table>");
    write("<table id='b15' width='42' height='16' bgcolor='#FFCF00' style='position:absolute; top:68; left:351'><td></td></table>");
    write("<table id='b16' width='42' height='16' bgcolor='#FF7F00' style='position:absolute; top:88; left:29'><td></td></table>");
    write("<table id='b17' width='42' height='16' bgcolor='#FF7F00' style='position:absolute; top:88; left:75'><td></td></table>");
    write("<table id='b18' width='42' height='16' bgcolor='#FF7F00' style='position:absolute; top:88; left:121'><td></td></table>");
    write("<table id='b19' width='42' height='16' bgcolor='#FF7F00' style='position:absolute; top:88; left:167'><td></td></table>");
    write("<table id='b20' width='42' height='16' bgcolor='#FF7F00' style='position:absolute; top:88; left:213'><td></td></table>");
    write("<table id='b21' width='42' height='16' bgcolor='#FF7F00' style='position:absolute; top:88; left:259'><td></td></table>");
    write("<table id='b22' width='42' height='16' bgcolor='#FF7F00' style='position:absolute; top:88; left:305'><td></td></table>");
    write("<table id='b23' width='42' height='16' bgcolor='#FF7F00' style='position:absolute; top:88; left:351'><td></td></table>");
    write("<table id='b24' width='42' height='16' bgcolor='#FF3F00' style='position:absolute; top:108; left:29'><td></td></table>");
    write("<table id='b25' width='42' height='16' bgcolor='#FF3F00' style='position:absolute; top:108; left:75'><td></td></table>");
    write("<table id='b26' width='42' height='16' bgcolor='#FF3F00' style='position:absolute; top:108; left:121'><td></td></table>");
    write("<table id='b27' width='42' height='16' bgcolor='#FF3F00' style='position:absolute; top:108; left:167'><td></td></table>");
    write("<table id='b28' width='42' height='16' bgcolor='#FF3F00' style='position:absolute; top:108; left:213'><td></td></table>");
    write("<table id='b29' width='42' height='16' bgcolor='#FF3F00' style='position:absolute; top:108; left:259'><td></td></table>");
    write("<table id='b30' width='42' height='16' bgcolor='#FF3F00' style='position:absolute; top:108; left:305'><td></td></table>");
    write("<table id='b31' width='42' height='16' bgcolor='#FF3F00' style='position:absolute; top:108; left:351'><td></td></table>");
    write("<table id='b32' width='42' height='16' bgcolor='#FF0000' style='position:absolute; top:128; left:29'><td></td></table>");
    write("<table id='b33' width='42' height='16' bgcolor='#FF0000' style='position:absolute; top:128; left:75'><td></td></table>");
    write("<table id='b34' width='42' height='16' bgcolor='#FF0000' style='position:absolute; top:128; left:121'><td></td></table>");
    write("<table id='b35' width='42' height='16' bgcolor='#FF0000' style='position:absolute; top:128; left:167'><td></td></table>");
    write("<table id='b36' width='42' height='16' bgcolor='#FF0000' style='position:absolute; top:128; left:213'><td></td></table>");
    write("<table id='b37' width='42' height='16' bgcolor='#FF0000' style='position:absolute; top:128; left:259'><td></td></table>");
    write("<table id='b38' width='42' height='16' bgcolor='#FF0000' style='position:absolute; top:128; left:305'><td></td></table>");
    write("<table id='b39' width='42' height='16' bgcolor='#FF0000' style='position:absolute; top:128; left:351'><td></td></table>");
    write("<div id='ball' style='position:absolute'>");
    write("<table width='4' height='8' bgcolor='#B0B0B0' style='position:absolute; left:0; top:0'><td></td></table>");
    write("<table width='8' height='4' bgcolor='#B0B0B0' style='position:absolute; left:-1; top:2'><td></td></table>");
    write("<table width='4' height='4' bgcolor='#FFFFFF' style='position:absolute; left:0; top:1'><td></td></table>");
    write("</div>");
    write("<table id='racket' width='40' height='4' bgcolor='#B0B0FF' style='position:absolute'><td></td></table>");
    write("<div id='starter' style='position:absolute'><form><input type='button' value='START' ONCLICK='initG();blur()'></form></div>");
    write("<div id='clrmes' style='position:absolute'><font style='font-size:24px' color='#44CC44'>ALL CLEAR!</font></div>");
    write("<div id='ovrmes' style='position:absolute'><font style='font-size:24px' color='#CC4444'>GAME OVER!</font></div>");
    write("<div id='DN' style='position:absolute'><a href='javascript:SDN()'>SPEED DOWN</a></div>");
  }
</script>
</body>
</html>

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助~如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持!

Javascript 相关文章推荐
使用JavaScript构建JSON格式字符串实现步骤
Mar 22 Javascript
jQuery获取节点和子节点文本的方法
Jul 22 Javascript
node.js超时timeout详解
Nov 26 Javascript
详细谈谈javascript的对象
Jul 31 Javascript
jQuery插件zTree实现删除树子节点的方法示例
Mar 08 Javascript
EasyUI Datebox 日期验证之开始日期小于结束时间
May 19 Javascript
安装vue-cli的简易过程
May 22 Javascript
angular 实现同步验证器跨字段验证的方法
Apr 11 Javascript
解决layer弹出层自适应页面大小的问题
Sep 16 Javascript
JavaScript中的null和undefined用法解析
Sep 30 Javascript
JS轮播图的实现方法2
Aug 25 Javascript
echarts实现晶体球面投影的实例教程
Oct 10 Javascript
ReactJs实现树形结构的数据显示的组件的示例
Aug 18 #Javascript
基于 Vue 的树形选择组件的示例代码
Aug 18 #Javascript
简单实现jQuery手风琴效果
Aug 18 #jQuery
JavaScript中Hoisting详解 (变量提升与函数声明提升)
Aug 18 #Javascript
JavaScript实现旋转轮播图
Aug 18 #Javascript
JavaScript定时器setTimeout()和setInterval()详解
Aug 18 #Javascript
ECMAscript 变量作用域总结概括
Aug 18 #Javascript
You might like
PHP STRING 陷阱原理说明
2010/07/24 PHP
114啦源码(114la)不能生成地方房产和地方报刊问题4级页面0字节的解决方法
2012/01/12 PHP
php安装ssh2扩展的方法【Linux平台】
2016/07/20 PHP
CI框架AR数据库操作常用函数总结
2016/11/21 PHP
php设计模式之工厂模式用法经典实例分析
2019/09/20 PHP
PHP实现简单注册登录系统
2020/12/28 PHP
JavaScript CSS修改学习第六章 拖拽
2010/02/19 Javascript
基于JQuery的类似新浪微博展示信息效果的代码
2012/07/23 Javascript
jquery实现点击展开列表同时隐藏其他列表
2015/08/10 Javascript
谈谈JavaScript中function多重理解
2015/08/28 Javascript
使用JavaScript实现弹出层效果的简单实例
2016/05/31 Javascript
jQuery中的ready函数与window.onload谁先执行
2016/06/21 Javascript
浅谈js继承的实现及公有、私有、静态方法的书写
2016/10/28 Javascript
setTimeout函数的神奇使用
2017/02/26 Javascript
JavaScript的继承实现小结
2017/05/07 Javascript
node使用UEditor富文本编辑器的方法实例
2017/07/11 Javascript
Angular CLI 安装和使用教程
2017/09/13 Javascript
实现div滚动条默认最底部以及默认最右边的示例代码
2017/11/15 Javascript
将Sublime Text 3 添加到右键中的简单方法
2017/12/12 Javascript
使用vue实现grid-layout功能实例代码
2018/01/05 Javascript
layui实现图片虚拟路径上传,预览和删除的例子
2019/09/25 Javascript
微信小程序scroll-view的滚动条设置实现
2020/03/02 Javascript
Vue项目打包编译优化方案
2020/09/16 Javascript
python 中文字符串的处理实现代码
2009/10/25 Python
python实现报表自动化详解
2017/11/16 Python
Python根据欧拉角求旋转矩阵的实例
2019/01/28 Python
Python实例方法、类方法、静态方法的区别与作用详解
2019/03/25 Python
对Python的交互模式和直接运行.py文件的区别详解
2019/06/29 Python
简单了解python字符串前面加r,u的含义
2019/12/26 Python
用python写PDF转换器的实现
2020/10/29 Python
Django vue前后端分离整合过程解析
2020/11/20 Python
纯CSS3实现带动画效果导航菜单无需js
2013/09/27 HTML / CSS
党支部考察意见范文
2015/06/02 职场文书
结婚幸福感言
2015/08/01 职场文书
四年级作文之植物
2019/09/20 职场文书
高一作文之乐趣
2019/11/21 职场文书