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实现的listview效果
Apr 28 Javascript
IE8 原生JSON支持
Apr 13 Javascript
jquery实现文本框鼠标右击无效以及不能输入的代码
Nov 05 Javascript
表单切换,用回车键替换Tab健(不支持IE)
Jul 20 Javascript
Javascript中的apply()方法浅析
Mar 15 Javascript
JS实现仿微博可关闭弹出层效果
Sep 21 Javascript
Vue动态实现评分效果
May 24 Javascript
使用Javascript简单计算器
Nov 17 Javascript
详解如何在Javascript和Sass之间共享变量
Nov 13 Javascript
vue实现学生信息管理系统
May 30 Javascript
关于vue-cli3打包代码后白屏的解决方案
Sep 02 Javascript
JavaScript实现贪吃蛇游戏
Jun 16 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的知识
2006/11/17 PHP
php ftp文件上传函数(基础版)
2010/06/03 PHP
php中使用array_filter()函数过滤空数组的实现代码
2014/08/19 PHP
Thinkphp中数据按分类嵌套循环实现方法
2014/10/30 PHP
PHP加密解密字符串汇总
2015/04/26 PHP
Symfony2使用Doctrine进行数据库查询方法实例总结
2016/03/18 PHP
JavaScript For Beginners(转载)
2007/01/05 Javascript
基于jquery的分页控件(C#)
2011/01/06 Javascript
Jquery on方法绑定事件后执行多次的解决方法
2016/06/02 Javascript
ECMAScript6快速入手攻略
2016/07/18 Javascript
javascript计算对象长度的方法
2017/10/25 Javascript
Vue.js 利用v-for中的index值实现隔行变色
2018/08/01 Javascript
Python正则表达式匹配HTML页面编码
2015/04/08 Python
python3 对list中每个元素进行处理的方法
2018/06/29 Python
python 拼接文件路径的方法
2018/10/23 Python
基于Python计算圆周率pi代码实例
2020/03/25 Python
jupyter notebook 使用过程中python莫名崩溃的原因及解决方式
2020/04/10 Python
python将logging模块封装成单独模块并实现动态切换Level方式
2020/05/12 Python
python爬虫判断招聘信息是否存在的实例代码
2020/11/20 Python
详解anaconda安装步骤
2020/11/23 Python
eBay爱尔兰站:eBay.ie
2019/08/09 全球购物
ddl,dml和dcl的含义
2016/05/08 面试题
关爱残疾人演讲稿
2014/05/24 职场文书
项目合作意向书模板
2014/07/29 职场文书
物流专业专科生职业生涯规划书
2014/09/14 职场文书
计划生育工作汇报
2014/10/28 职场文书
2014年信息中心工作总结
2014/12/17 职场文书
先进班集体申报材料
2014/12/26 职场文书
2015初中团委工作总结
2015/07/28 职场文书
2016年习总书记讲话学习心得体会
2016/01/20 职场文书
《分数乘法》教学反思
2016/02/24 职场文书
pycharm代码删除恢复的方法
2021/06/26 Python
centos8安装MongoDB的详细过程
2021/10/24 MongoDB
HTML中的表单元素介绍
2022/02/28 HTML / CSS
详解在OpenCV中如何使用图像像素
2022/03/03 Python
斗罗大陆八大特殊魂兽,龙族始祖排榜首,第五最残忍(翠魔鸟)
2022/03/18 国漫