iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >基于JS怎么编写看字说颜色小游戏
  • 350
分享到

基于JS怎么编写看字说颜色小游戏

2023-06-30 08:06:31 350人浏览 泡泡鱼
摘要

本篇内容介绍了“基于js怎么编写看字说颜色小游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、游戏介绍与规则游戏名称:《看字说颜色》游戏

本篇内容介绍了“基于js怎么编写看字说颜色小游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

    一、游戏介绍与规则

    游戏名称:《看字说颜色》

    游戏模式:① 看图模式 ② 答题模式

    游戏规则:① 看图模式,根据窗体生成的字与字体颜色,说出对应的字体颜色。(字是干扰项) ② 答题模式,根据题目要求;选出正确答案。

    干扰等级:入门(5种颜色)、初级(8种颜色)、中级(10种颜色)、高级(12种颜色)

    二、大体设计与代码讲解

    ① 看图模式

    基于JS怎么编写看字说颜色小游戏

    具体思路

    首先,定义颜色对应的字、和对应颜色的十六进制(这里是有12种颜色)

    封装一个方法获取一个字(颜色)与一个不对应颜色的十六进制(如:蓝(#000000),就是显示蓝字,字体颜色是黑色)

    设置对应等级,生成生成“二维表格”(入门:5种颜色,5x5;初级:8种颜色,8x8;中级:10种颜色,10x10;高级:12种颜色,12x12.)

    开搞!

    核心代码

    定义设置颜色(12种颜色)

    // 定义设置颜色(12种颜色) let colorNameList = ['红', '绿', '蓝', '黄', '黑', '白', '灰', '紫', '粉', '青', '橙', '棕'];// 对应颜色的十六进制let colorHexList = ['#FF0000', '#00FF00', '#0000FF', '#FFFF00', '#000000', '#FFFFFF','#999999', '#9933FF', '#ff00cc', '#65ffcd', '#ffa500', '#D2691E'];// 颜色对应的map形式let colORMap = {    '红': '#FF0000','绿': '#00FF00','蓝': '#0000FF','黄': '#FFFF00',    '黑': '#000000','白': '#FFFFFF','灰': '#999999','紫': '#9933FF',    '粉': '#ff00cc','青': '#65ffcd','橙': '#ffa500','棕': '#D2691E'}

    封装获取一个字和不对应字体颜色的方法

    / 获取一个颜色对象function getRandomColor(size) {    // size是传入的等级所用的参数    // console.log(size)    var numHex = Math.floor(Math.random() * size);    var numName = Math.floor(Math.random() * size);    if (numHex == numName) { // 避免“字”和“字”的颜色相同        if (numHex > 1 && numHex < size) {            numHex -= 2;        } else {            numHex += 2;        }    };    var color = {        colorHex: colorHexList[numHex],        colorName: colorNameList[numName],        numHex: numHex,        numName: numName    }    return color; // 可均衡获取 0 到 9 的随机整数.}

    获取“二维表格”(画“图”)

    // 获取二维坐标系(画“图”)function getTwoArray(size) {    // console.log(e);    var textList = new Array();    for (var i = 0; i < size; i++) {        textList[i] = new Array();    }    // console.log(textList)    var textStr = "";    for (var i = 0; i < size; i++) {        if (i % 2 == 0) {            textStr += "<div style='background: #cce8f5;margin:0px;'>";        } else {            textStr += "<div style='background: #ffd4d4;margin:0px;'>";        }        for (var j = 0; j < size; j++) {            var theColor = getRandomColor(size);            textList[i][j] = theColor;            textStr += "<span class='the-color-span' style='color:" + theColor.colorHex + "'>" + theColor.colorName + "</span>";        }        textStr += "</div>";    }    return textStr; // 可均衡获取 0 到 9 的随机整数.}

    图片模式操作

    // 显示图片模式function bindImg() {    var traget = document.getElementById("show-img-div");    var btnList = document.getElementsByClassName("nfz-btn");    if (traget.style.display == "none") {        traget.style.display = "block";        that.bindBtn(btnList);    } else {        traget.style.display = "none";        that.bindBtn(btnList);    }}// 图片模式显示对应的function showImg(e) {    var size = e.getAttribute("data-value");    size = parseInt(size);    that.bindImg();    const colorList = getTwoArray(size);    // console.log(colorList);    var imgBody = document.getElementById("imgBody");    imgBody.innerhtml = colorList;}

    禁止其他按钮

    // 禁止按钮function bindBtn(btnList) {    for (var btn of btnList) {        btn.disabled = !btn.disabled;    }}

    ② 答题模式

    基于JS怎么编写看字说颜色小游戏

    具体思路

    首先,需要在图片模式的基础下(除了图片模式操作的方法)。同样的,需要有定义颜色对应的字、和对应颜色的十六进制(这里是有12种颜色)

    封装一个方法获取一个字(颜色)与一个不对应颜色的十六进制(如:蓝(#000000),就是显示蓝字,字体颜色是黑色)

    还需要定义颜色下标、选项等等一些相关操作(具体可以看代码注释)

    封装获取题的方法、点击选项方法、下一道题、显示分数、重置游戏...

    开搞!

    核心代码

    相关需要定义的参数

    // 这里还有前面定义的颜色,就不重复写入这里了(可参考完整代码)// 颜色下标(方便记录,去掉相同颜色,避免出现相同颜色)var numberList = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];// console.log(colorMap);var optList = ["A", "B", "C", "D"];// 选项var msg = ""; // 提示语var isNext = true; // 是否下一题var optRightNum = 0; // 正确答案下标let questionNumber = 10; // 默认题目数量 10(下标从0开始)let theQuerstionNumber = 0; // 题目数let theResultNum = 0; // 分数var theRightNum = 0; // 正确选项

    显示答题模式

    // 显示答题function showQuestion(e) {    that.bindQuestion();    if (e && e.getAttribute("data-value")) {        questionNumber = e.getAttribute("data-value");    }    var questionNum = document.getElementById("questionNum");    questionNum.innerHTML = questionNumber;    that.getQuestion();}

    来一道题

    // 来一道题function getQuestion() {    optRightNum = Math.floor(Math.random() * 4); // 正确答案下标(获取随机数0~3)    var size = questionNumber;    size = parseInt(size);    var theColor = getRandomColor(size);    // console.log(theColor);    // for(var i =0;i<questionNumber;i++){    var num = Math.floor(Math.random() * 2); // 随机获取0 or 1;为0时候是读字;为1时是读颜色    var titleStr = theQuerstionNumber + "、题目:";    // console.log(num)    if (num == 0) {        titleStr += "选择该字对应的文字";        theRightNum = theColor.numName;    } else {        titleStr += "选择该字对应的颜色";        theRightNum = theColor.numHex;    }    titleStr += "<div class='the-title-span' style='color:" + theColor.colorHex + "'>" + theColor.colorName + "</div>";    // console.log(titleStr);    // }    var themDiv = document.getElementById("opt-them");    var titleDiv = document.getElementById("opt-title");    titleDiv.innerHTML = titleStr;    var newNumList = [].concat(numberList);    newNumList.splice(theRightNum, 1); // 删除正确答案的下标(防止出现相同答案)    // console.log("numberList",numberList);    // console.log("newNumList",newNumList);    // console.log(newNumList.length);    var optStr = "<div class='opt-them'>";    for (var i = 0; i < 4; i++) {        optStr += "<div class='opt-item' onclick='onclickOpt(this)' data-value='" + i + "'>" + optList[i] + ". ";        var colorNum = Math.floor(Math.random() * newNumList.length);        if (i == optRightNum) {            optStr += colorNameList[theRightNum];            optStr += "</div>";            continue;        }        optStr += colorNameList[newNumList[colorNum]];        newNumList.splice(colorNum, 1); // 删除已出现过的选项的下标(防止出现相同选项)        optStr += "</div>";    }    optStr += "</div>";    // console.log(optStr);    // console.log("正确答案:"+(optRightNum+1));    themDiv.innerHTML = optStr;}

    点击选择选项答案

    // 点击选项方法(事件)function onclickOpt(e) {    if (!isNext) { // 当前状态不能进行下一题        return;    }    var result = document.getElementById("result");    var theOpt = "";    if (e && e.getAttribute("data-value")) {        theOpt = e.getAttribute("data-value");    } else {        return;    }    isNext = false;    if (optRightNum == theOpt) {        theResultNum++;        result.innerHTML = theResultNum;        // console.log("选择正确!");        msg = "选择正确!";    } else {        // console.log("选择错误!");        msg = "选择错误!";    }    if (theQuerstionNumber == questionNumber) {        msg = "游戏结束!一共:" + questionNumber + "题;<br>您的最终得分是:" + theResultNum;        that.bindShowResult(msg);        return;    }    that.bindShowResult(msg);}

    显示分数、重置游戏

    // 显示分数function bindShowResult(msg) {    var showMsg = document.getElementById("show-msg");    if (showMsg.style.display == "none") {        showMsg.children[0].innerHTML = msg;        showMsg.style.display = "block";    } else {        showMsg.style.display = "none";    }}// 重置游戏function reset() {    theQuerstionNumber = 1;    isNext = true;    theResultNum = 0;    result.innerHTML = theResultNum;    that.getQuestion();}

    “基于JS怎么编写看字说颜色小游戏”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

    --结束END--

    本文标题: 基于JS怎么编写看字说颜色小游戏

    本文链接: https://www.lsjlt.com/news/327836.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • 基于JS怎么编写看字说颜色小游戏
      本篇内容介绍了“基于JS怎么编写看字说颜色小游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、游戏介绍与规则游戏名称:《看字说颜色》游戏...
      99+
      2023-06-30
    • 基于JS编写一个看字说颜色小游戏
      目录前言一、游戏介绍与规则二、大体设计与代码讲解① 看图模式具体思路核心代码② 答题模式具体思路核心代码三、仓库地址与体验地址前言 最近偷懒,一直没开工参与游戏活动的文章。终于在这几...
      99+
      2024-04-02
    • 基于Python编写一个宝石消消乐小游戏
      目录开发工具环境搭建原理简介开发工具 python版本:3.6.4 相关模块: pygame;以及一些python自带的模块。 环境搭建 安装python并添加到环境变量,pip安装...
      99+
      2024-04-02
    • 基于JS编写开心消消乐游戏的示例代码
      目录展示游戏背景游戏规则源码部分对关卡的地图设置介绍一下游戏中的一些功能展示 游戏背景 一天晚上,天空中掉下一颗神奇的豌豆种子,正好落在了梦之森林的村长屋附近,种子落地后吸收了池塘...
      99+
      2024-04-02
    • 基于JS怎么实现Flappy Bird游戏
      本文小编为大家详细介绍“基于JS怎么实现Flappy Bird游戏”,内容详细,步骤清晰,细节处理妥当,希望这篇“基于JS怎么实现Flappy Bird游戏”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习...
      99+
      2023-06-30
    • 基于Javascript怎么开发连连看游戏小程序
      今天小编给大家分享一下基于Javascript怎么开发连连看游戏小程序的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。01、程...
      99+
      2023-07-05
    • 怎么用Matlab编写简易版连连看小游戏
      这篇文章主要介绍“怎么用Matlab编写简易版连连看小游戏”,在日常操作中,相信很多人在怎么用Matlab编写简易版连连看小游戏问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Matlab编写简易版连连看...
      99+
      2023-06-29
    • 基于JS制作一个网页版的猜数字小游戏
      目录一. 游戏简介二. 页面预览三. 页面实现四. 功能实现五. 参考源码 一. 游戏简介 在输入框内输一个数字,点击后面的“猜”按钮,系统会根据你...
      99+
      2024-04-02
    • 基于Python编写一个中秋节嫦娥投食小游戏
      目录游戏设计1、游戏背景2、功能设计效果展示代码素材代码素材山河远阔,烟火人间,又一年,千里婵娟~ 今天给大家带来的是给玉兔投喂月饼的小游戏。八月十五中秋夜晚,让我们对着月亮许愿:希...
      99+
      2024-04-02
    • 基于JS怎么实现消消乐游戏
      这篇文章主要讲解了“基于JS怎么实现消消乐游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“基于JS怎么实现消消乐游戏”吧!游戏的准备工作首先我们思考游戏的机制: 游戏有一个“棋盘”,是一个...
      99+
      2023-06-30
    • 基于C语言编写一个简单的抽卡小游戏
      目录效果图展示开始的界面输入1输入10输入0实现代码test4.26.c许愿.cgame.h下载小奔最近学了C语言不少的东西,但是想用学到的东西来搞一个小游戏。 不过小奔就不做那些猜...
      99+
      2024-04-02
    • Java实现猜数字小游戏代码怎么编写
      Java实现猜数字小游戏代码怎么编写,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。▲游戏规则:系统随机生成一个范围0&mdash;&mdash;...
      99+
      2023-06-26
    • 怎么用Lua编写猜数字游戏
      本篇内容主要讲解“怎么用Lua编写猜数字游戏 ”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Lua编写猜数字游戏 ”吧!Lua 代码首先,你必须设置一个伪随机数生成器,这样你的玩家就有一些...
      99+
      2023-06-15
    • 怎么使用js编写实现拼图游戏
      这篇文章主要讲解了“怎么使用js编写实现拼图游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用js编写实现拼图游戏”吧!目标使用原生js编写一个拼图游戏,我这里写了两种拼图的方法。一...
      99+
      2023-07-02
    • 基于Python怎么实现射击小游戏
      本文小编为大家详细介绍“基于Python怎么实现射击小游戏”,内容详细,步骤清晰,细节处理妥当,希望这篇“基于Python怎么实现射击小游戏”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.游戏画面1.1开始1....
      99+
      2023-06-29
    • 怎么用C++编写一个井字游戏
      这篇文章主要介绍“怎么用C++编写一个井字游戏”,在日常操作中,相信很多人在怎么用C++编写一个井字游戏问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用C++编写一个井字游戏”的疑惑有所帮助!接下来,请跟...
      99+
      2023-06-17
    • 怎么用Elixir语言编写一个小游戏
      本篇内容主要讲解“怎么用Elixir语言编写一个小游戏”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Elixir语言编写一个小游戏”吧!通过编写“猜数字”游戏来学习 Elixir 编程语言...
      99+
      2023-06-15
    • 怎么使用c语言编写简单小游戏
      编写一个简单的猜数字小游戏的例子:```#include #include #include int main() {int ran...
      99+
      2023-08-31
      c语言
    • 怎么用Js写一个简单的五子棋小游戏
      这篇文章主要讲解了“怎么用Js写一个简单的五子棋小游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Js写一个简单的五子棋小游戏”吧!这里的五子棋只做一些基础的功能,对于相对专业的规则...
      99+
      2023-07-02
    • 基于Python怎么制作简单的井字棋游戏
      基本框架from tkinter import * import tkinter.messagebox as msg root = Tk() root.title('井字棋') # labels L...
      99+
      2023-05-19
      Python
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作