大概 1 年多之前,一位老同学找到我,问能不能帮他做一个非常简单的猜数字游戏,需求是这样的:

在 1 到 100 的整数里,随机选一个数字,让小朋友们猜;

  1. 如果猜错了,告知小朋友猜大了还是猜小了;
  2. 如果猜中了,游戏结束。

正好那段时间,我一直在用ECharts做统计图表。一听到这个需求,马上想到用ECharts的交互效果就能做,而且比直接写程序要省事得多。于是答应他中午午休给他做,1小时左右交差。

结果ECharts果然好用,1小时内实现功能 + 调了调细节交付,1 个 HTML 文件 + 2 个 JS 文件(自己写的 JS + echarts.min.js)就搞定了。思路大致是这样的:

  • 用了基于直角坐标系的热力图(heatmap)和仪表盘图(gauge),去掉直角坐标系的坐标轴(xAxis.show = false, yAxis.show = false),去掉仪表盘指针和刻度值(axisLabel.show = false)等;
  • 点击热力图猜数,仪表盘显示结果(监听 click 事件,设置回调函数更新图表),同时把用不到的数字按钮去掉。

关键代码部分

代码水平可能比较低…因为我是工作之余凭兴趣偶尔写写,请大家多多包涵

1、准备热力图数据

我需要准备 1 到 100 个数,填满热力图。为了偷懒,我弄了 0 到 100 共 101 个数,这样坐标(0, 1)对应的数字正好是 1,(1, 0)对应 10 ,看起来比较直观,省脑子…哈哈!

data

这是生成数据的代码,循环嵌套:

var 

结果大致是这样的

[[ 

然后发现犯二了,x 坐标和 y 坐标位置弄反了,数字竖向排列了,赶紧交换下位置

(或者把 res.push() 里面的 i, j 顺序换下)

guessNumData 

2、点击事件的监听处理

使用 myChart.on() 监听点击事件。

// 设置一个变量,如果猜对了将其赋值为 1

guess 函数做了什么?与预先生成的随机数比对,根据比对结果提供刷新图表的参数:

  1. 是否猜中,1 代表猜中,0 代表没猜中;
  2. 提示信息;
  3. 新的猜数范围最小值;
  4. 新的猜数范围最大值。
function 

renewEcharts 函数又做了什么?根据 guess 函数提供的参数更新图表。

function 

点击查看 ECharts Gallery 例子(建议PC查看)

ECharts Gallery​gallery.echartsjs.com

echarts 设置仪表盘数字的位置_一个 ECharts 做的猜数小游戏相关推荐

  1. echarts 设置仪表盘数字的位置_【Python代替Excel】11:用Python做数据仪表盘

    今天要学习的,是用Python制作数据仪表盘,也就是用Python作图. 用到的库是matplotlib.pyplot,可以制作 折线图.饼图.柱形图.堆积柱形图.组合图等等. 准备工作 数据下载,共 ...

  2. echarts 设置仪表盘数字的位置_全新数字高尔夫独具的特色!外观前卫紧跟潮流!...

    近年来,汽车市场竞争特别激烈,目前国内许多紧凑型家庭轿车都是非常好的合资品牌,一汽-大众进入占据了紧凑型家庭轿车的领域.成为汽车市场的王者,不仅需要卓越的综合实力,还需要独特的特色,高尔夫可以说是大众 ...

  3. echarts 设置仪表盘数字的位置_全新数字高尔夫独具的特色!外观前卫紧跟潮流...

    近年来,汽车市场竞争特别激烈,目前国内许多紧凑型家庭轿车都是非常好的合资品牌,一汽-大众进入占据了紧凑型家庭轿车的领域.成为汽车市场的王者,不仅需要卓越的综合实力,还需要独特的特色,高尔夫可以说是大众 ...

  4. android做一个坦克大战小游戏_一个 ECharts 做的猜数小游戏

    大概 1 年多之前,一位老同学找到我,问能不能帮他做一个非常简单的猜数字游戏,需求是这样的: 在 1 到 100 的整数里,随机选一个数字,让小朋友们猜: 如果猜错了,告知小朋友猜大了还是猜小了: 如 ...

  5. JavaScript:一个非常有趣的猜数小游戏

    文章目录 猜数字游戏 猜数字游戏 程序随机生成一个 1~ 50 之间的数字,并让用户输入一个数字, 如果大于该数字,就提示,数字大了,继续猜: 如果小于该数字,就提示数字小了,继续猜: 如果等于该数字 ...

  6. 10次机会 js 猜数_用JS实现简单的猜数小游戏

    js的猜数游戏所用的知识点很少,主要的有随机产生一个随机整数,然后就是利用循环和if语句来做判断来实现游戏 第一步:我们要先随机产生出一个1-1000之间的整数 var num=Math.round( ...

  7. 【日常练习】一个可以试玩五次的猜数小游戏

    练习要求: 请设计一个猜数字小游戏,可以试玩5次.试玩结束之后,给出提示:游戏试玩结束,请付费. 小游戏代码 import java.util.Scanner;public class GuessNu ...

  8. java math猜数小游戏_java猜数字小游戏

    import java.util.Random; import java.util.Scanner; /** * 一个简单的猜数字游戏 * * @author chried * */ public c ...

  9. python循环10次_开发一个循环 5 次计算的小游戏, 设置随机种子为10,每次随机产生两个 1~10的数字以及随机选择...

    开发一个循环 5 次计算的小游戏, 设置随机种子为10,每次随机产生两个 1~10的数字以及随机选择 "+.-.*"运算符,构成一个表达式, 让用户计算式子结果并输入结果,如果计算 ...

最新文章

  1. 【洛谷】【USACO】P1118 数字三角形
  2. python使用pyodbc,freetds连接azure数据库
  3. 解决报错:错误1130- Host xxx is not allowed to connect to this MariaDb server
  4. Acwing 1088.旅行问题
  5. java版 modbus crc16校验 (已测试成功)_java版 ModBus CRC16校验 (已测试成功)
  6. CAD库中列举所有航路点
  7. python安装caffe_Caffe安装笔记二:Caffe安装过程
  8. Logistic Regression:最基础的神经网络
  9. Tensorflow初入门
  10. anaconda报错 ImportError: No module named conda.cli
  11. php 判断访问类型,基于php判断客户端类型
  12. 安捷伦温度测试仪 软件,安捷伦34970A数据采集器温度测试仪是德科技34970A+34901A模块...
  13. 使用空驱动消除设备管理器里面的未知设备
  14. Android 手机截屏
  15. 30天自制操作系统 第一天
  16. latex 调整图片大小
  17. SpringBoot 自动配置初探
  18. java学习笔记第三部分
  19. 红米4鸿蒙系统刷机包,小米红米(移动版)刷机包 基于官方4.2.1 极简稳定纯净 完整root权限 V4.0...
  20. Android 自带工具生成图标

热门文章

  1. 丰度决定了细菌在复杂群落中的功能作用
  2. 用polt3画曲面_用SolidWorks建模一个:防滑板曲面造型
  3. R语言ggplot2可视化:ggplot2可视化使用guide_axis(check.overlap=TRUE)选项删除重叠的轴文本、跳过部分中间轴标签
  4. pandas生成新的累加数据列、pandas生成新的累加数据列(数据列中包含NaN的情况)、pandas计算整个dataframe的所有数据列的累加
  5. R语言生成组合图并保存实战:实际上只保存了最后一个图问题、ggsave生成组合图并保存(保存完整组合图)
  6. NLP语言模型任务数据准备及实战
  7. linux定义LD_library,linux – CentOS /usr/local / lib系统范围内$LD_LIBRARY_PATH?
  8. 网站采用自建服务器的优点,企业自建网页的方法是怎样的,自建网站有哪些优点呢?...
  9. FSWD_2_JavaScript
  10. Badread: simulation of error-prone long reads Badread:模拟容易出错的长读断