js仿3366小游戏选字游戏


Posted in Javascript onApril 14, 2016

本文实例为大家分享了js仿3366小游戏中“你是色盲吗”游戏,大家先来挑战一下

游戏目标: 按画面中出现的文字的颜色来选择颜色,千万不要被颜色的困局打扰,眼睛一定要放亮哦,游戏开始时会有10分,每答对一题得一分,总共有10分,时间用完游戏会结束。
操作说明: 鼠标点击选择颜色

1、效果图:

原图:

js仿3366小游戏选字游戏

js仿3366小游戏选字游戏

模仿:

js仿3366小游戏选字游戏

代码:

<!DOCTYPE html>
<html>
 
  <head>
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
      .wrap {
        width: 400px;
        height: 600px;
        border: 1px solid black;
        margin: 0 auto;
      }
       
      .head {
        width: 100%;
        height: 50px;
        overflow: hidden;
      }
       
      .time {
        float: left;
        width: 150px;
        height: 100%;
        line-height: 50px;
        font-size: 20px;
        text-align: center;
      }
       
      .score {
        width: 150px;
        height: 100%;
        float: right;
        line-height: 50px;
        font-size: 20px;
        /*text-align: center;*/
      }
       
      .middle {
        width: 100%;
        height: 450px;
      }
       
      .text {
        width: 100%;
        height: 300px;
        font-size: 200px;
        text-align: center;
        line-height: 300px;
      }
       
      .alert {
        width: 80%;
        height: 150px;
        margin: 0 auto;
        text-indent: 2em;
        font-size: 25px;
      }
       
      .bottom {
        width: 100%;
        height: 100px;
        overflow: hidden;
      }
       
      .bottomText {
        width: 20%;
        height: 100px;
        float: left;
        text-align: center;
        line-height: 100px;
        font-size: 70px;
        cursor: pointer;
      }
    </style>
  </head>
 
  <body>
    <div class="wrap">
      <div class="head">
        <div class="time">时间:10s</div>
        <div class="score">分数 :0</div>
      </div>
      <div class="middle">
        <div class="text">蓝</div>
        <div class="alert">根据上面的字的颜色从下面选择正确的字,选择正确自动开始</div>
      </div>
      <div class="bottom">
        <div class="bottomText">红</div>
        <div class="bottomText">绿</div>
        <div class="bottomText">黑</div>
        <div class="bottomText">蓝</div>
        <div class="bottomText">黄</div>
      </div>
    </div>
  </body>
  <script type="text/javascript">
    //变化的核心 获得不重复的乱序数组(数组中下标值)
     
    function random(min, max) {
      return parseInt(Math.random() * (max - min + 1)) + min;
    }
    //不重复的数组
    function randomArr() {
      var arr = [];
      while (arr.length < 5) {
        var temp = random(0, 4);
        if (arr.indexOf(temp) == -1) {
          arr.push(temp);
        }
      }
      return arr;
    }
    function fresh() {
      //中间字 变化
      var textIndex = random(0, 4);
       colorIndex = random(0, 4);
      textDiv.innerHTML = textArr[textIndex];
      textDiv.style.color = colorArr[colorIndex];
      //获取乱序下标数组
      var textRandoms = randomArr();
      var colorRandoms = randomArr();
      for (var i = 0; i < bottomDivs.length; i++) {
        //通过乱序下标获取文本,赋值给div
        bottomDivs[i].innerHTML = textArr[textRandoms[i]];
        bottomDivs[i].style.color = colorArr[colorRandoms[i]];
        //保存乱序下标
        bottomDivs[i].index = textRandoms[i];
      }
    }
    var textDiv = document.querySelector(".text");
    var bottomDivs = document.querySelectorAll(".bottomText");
    var timeDiv = document.querySelector(".time");
    var scoreDiv = document.querySelector(".score");
    var alertDiv = document.querySelector(".alert");
    var textArr = ["红", "绿", "蓝", "黄", "黑"];
    var colorArr = ["red", "green", "blue", "yellow", "black"];
     var colorIndex=0;
     var timer = null;
     var isplaying = false;
     var countDown = 10;
     var score = 0;
     fresh();
    for (var i = 0; i < bottomDivs.length; i++) {
      bottomDivs[i].onclick = function(){
        //判断
        if(colorIndex == this.index &&countDown!=0 ){
          //刷新
          score ++;
          isplaying =true;
          //分数增加
          fresh();
          scoreDiv.innerHTML = "分数: "+score ;
          alertDiv.style.opacity = 0;
        }else if(colorIndex != this.index &&isplaying){
          //点错时间减小
          countDown --;
          //更新时间变化
          timeDiv.innerHTML = "时间: " + countDown +"s";
          //判断清理定时器
          if(countDown <= 0){
            clearInterval(timer);
            isplaying = false;
          }
        }
      }
    }
    //定时器,监听游戏进行
    timer = setInterval(function(){
      if(isplaying){
        countDown --;
        timeDiv.innerHTML = "时间: " + countDown +"s";
        if(countDown <= 0){
          clearInterval(timer);
          isplaying =false;
          alert("game over!!");
        }
        //停止游戏
      }else{
         
      }
    },1000);
  </script>
 
</html>

以上就是本文的全部内容,希望大家能够挑战成功。

Javascript 相关文章推荐
javascript 10进制和62进制的相互转换
Jul 31 Javascript
node.js中的buffer.slice方法使用说明
Dec 10 Javascript
jQuery简单tab切换效果实现方法
Apr 08 Javascript
javascript正则表达式定义(语法)总结
Jan 08 Javascript
Angular和百度地图的结合实例代码
Oct 19 Javascript
详解最新vue-cli 2.9.1的webpack存在问题
Dec 16 Javascript
JS常见DOM节点操作示例【创建 ,插入,删除,复制,查找】
May 14 Javascript
详解vue数组遍历方法forEach和map的原理解析和实际应用
Nov 15 Javascript
Vue 前端实现登陆拦截及axios 拦截器的使用
Jul 17 Javascript
详解微信小程序中var、let、const用法与区别
Jan 11 Javascript
微信小程序webSocket的使用方法
Feb 20 Javascript
nuxt.js写项目时增加错误提示页面操作
Nov 05 Javascript
Javascript实现鼠标框选操作  不是点击选取
Apr 14 #Javascript
Node.js实现数据推送
Apr 14 #Javascript
node.js实现端口转发
Apr 14 #Javascript
即将发布的jQuery 3 有哪些新特性
Apr 14 #Javascript
谈一谈JS消息机制和事件机制的理解
Apr 14 #Javascript
Kindeditor在线文本编辑器如何过滤HTML
Apr 14 #Javascript
基于RequireJS和JQuery的模块化编程日常问题解析
Apr 14 #Javascript
You might like
php中文本操作的类
2007/03/17 PHP
php smarty模版引擎中的缓存应用
2009/12/11 PHP
php基础学习之变量的使用
2011/06/09 PHP
php网上商城购物车设计代码分享
2012/02/15 PHP
php处理json格式数据经典案例总结
2016/05/19 PHP
Thinkphp结合ajaxFileUpload实现异步图片传输示例
2017/03/13 PHP
基于PHP-FPM进程池探秘
2017/10/17 PHP
javascript iframe编程相关代码
2009/12/28 Javascript
js获取系统的根路径实现介绍
2013/09/08 Javascript
js确认删除对话框效果的示例代码
2014/02/20 Javascript
jquery制作弹窗提示窗口代码分享
2014/03/02 Javascript
用JavaScript实现类似于ListBox功能示例代码
2014/03/09 Javascript
javascript中的nextSibling使用陷(da)阱(keng)
2014/05/05 Javascript
angularjs客户端实现压缩图片文件并上传实例
2015/07/06 Javascript
纯js代码实现未知宽高的元素在指定元素中垂直水平居中显示
2015/09/12 Javascript
jQuery实现的表头固定效果实例【附完整demo源码下载】
2016/08/01 Javascript
微信小程序 页面传值详解
2017/03/10 Javascript
从零开始做一个pagination分页组件
2017/03/15 Javascript
Express下采用bcryptjs进行密码加密的方法
2018/02/07 Javascript
Js跳出两级循环方法代码实例
2020/09/22 Javascript
[02:36]DOTA2混沌骑士 英雄基础教程
2013/11/26 DOTA
Python基于jieba库进行简单分词及词云功能实现方法
2018/06/16 Python
numpy.random.shuffle打乱顺序函数的实现
2019/09/10 Python
python 魔法函数实例及解析
2019/09/25 Python
使用Puppeteer爬取微信文章的实现
2020/02/11 Python
Python Matplotlib简易教程(小白教程)
2020/07/28 Python
python使用建议技巧分享(三)
2020/08/18 Python
施华洛世奇中国官网:SWAROVSKI中国
2020/06/16 全球购物
最受欢迎的自我评价
2013/12/22 职场文书
环保建议书
2014/03/12 职场文书
2014党员学习《反腐倡廉警示教育读本》思想汇报
2014/09/13 职场文书
党员群众路线个人整改措施思想汇报
2014/10/12 职场文书
2014年乡镇纪委工作总结
2014/12/19 职场文书
2015年小学语文教师工作总结
2015/10/23 职场文书
素质教育学习心得体会
2016/01/19 职场文书
springcloud整合seata
2022/05/20 Java/Android