首发:个人博客,更新&纠错&回复

在昨天的dota契合度计算器中,用到了dota英雄数据dota玩家数据这两个数据库,为了便于网页应用使用,这两个数据库的存储格式是json,即heros.json和players.json这两个文件。

json文件的好处是用文本编辑器可以打开,但坏处是不像数据库那样有图形化界面方便操作。英雄有100多个,玩家也有十几个,每个英雄和玩家的属性都有十几二十项,在文本编辑器里拖来拖去太麻烦了,不能一目了然。

而且英雄有个tags属性,这属性实际是用逗号分隔的字符串,如"远程,智力,法师,爆发",这个串的编辑是我目前主要要做的事,在文本编辑器里拖动太蠢了,就想要做个exe程序,由于这个编辑器要处理的是json格式数据,采用node-webkit技术,用javascript语言完成是最合适的,不由得感叹技术多学点儿就好像多开了几扇窗户,而不会只有锤子遇到什么都当钉子来砸。

实现起来并不困难,代码在这里,当然要放到node-webkit的壳子里运行,可以参考我的这篇博客

界面如图:

然后顺手把玩家编辑器也给做了,只是在英雄标签编辑器的基础上改了改,界面如下:

设定好了英雄和玩家的指标,就可以用算法计算玩家的契合英雄了:

计算出了杜哥最适合用的前15名英雄,还是比较准确的。处理好的数据和计算用的页面在这里,源码在这里

欢迎使用和提修改意见,尤其是关于英雄指标和算法的,目前的还是觉得有缺陷,例如沉默术士和天怒法师都有“沉默”技能,显然两者是不同的,但没想好该怎么区分。

长期欢迎项目合作机会介绍,项目收入10%用于酬谢介绍人。新浪微博:@冷镜,QQ:908789432

本地json文件的编辑器,node-webkit开发的exe程序的更多相关文章

  1. HTML5实现本地JSON文件的读写

    参考: 使用HTML5来实现本地文件读取和写入  (FileReader读取json文件,FileSaver.js保存json文件) w3school <input>标签 FileRead ...

  2. JavaScript读取本地json文件

    JavaScript读取本地json文件 今天调试了一上午,通过jQuery读取本地json文件总是失败,始终找不出原因,各种方法都试了 开始总以为是不是json格式的问题.高了半天不行 后来读了一个 ...

  3. 访问本地json文件因跨域导致的问题

    我使用jquery的getJSON的方法获取本地的json文件,并进行操作,获取json 数据代码如下: $.getJSON("invite_panel.json",functio ...

  4. 读取本地json文件,并转换为dictionary

    // 读取本地JSON文件 - (NSDictionary *)readLocalFileWithName:(NSString *)name { // 获取文件路径 NSString *path = ...

  5. jQuery ajax读取本地json文件

    jQuery ajax读取本地json文件 json文件 { "first":[ {"name":"张三","sex": ...

  6. 第三天,爬取伯乐在线文章代码,编写items.py,保存数据到本地json文件中

        一. 爬取http://blog.jobbole.com/all-posts/中的所有文章     1. 编写jobbole.py简单代码 import scrapy from scrapy. ...

  7. vue 模拟后台数据(加载本地json文件)调试

    首先创建一个本地json文件,放在项目中如下 { "runRedLight":{ "CurrentPage": 1, "TotalPages" ...

  8. 将Chrome调试器里的JavaScript变量保存成本地JSON文件

    我写了一个系列的文章,主要用来搜集一些供程序员使用的小工具,小技巧,帮助大家提高工作效率. 推荐一个功能强大的文件搜索工具SearchMyFiles 介绍一个好用的免费流程图和UML绘制软件-Diag ...

  9. 读取本地json文件,转出为指定格式json 使用Base64进行string的加密和解密

    读取本地json文件,转出为指定格式json   引用添加Json.Net 引用命名空间 using Newtonsoft.Json //读取自定目录下的json文件StreamReader sr = ...

随机推荐

  1. 给自定义cell赋值

    搭建自定义cell-给自定义cell赋值的思路 1 主控制器 1.1导入头文件 #import "LHQInvestmentManagementCell.h" #import &q ...

  2. [LintCode] Swap Two Nodes in Linked List 交换链表中的两个结点

    Given a linked list and two values v1 and v2. Swap the two nodes in the linked list with values v1 a ...

  3. win10添加打印机--无法访问指定设备,路径或文件。。

    win10添加打印机无法访问指定设备,路径或文件..后来发现很多按钮点击多说无法访问指定设备,路径或文件.. 解决添加打印机问题: 在搜索栏中搜索:print (从这里添加) 彻底解决: 添加环境变量 ...

  4. call与apply基础用法告诉你

    Js用法中还有个极好的但是有些抽象的用法——call与apply,今天我要简单总结一下: var ob1={ //对象ob1 name:"ob1", func1:function( ...

  5. HTML5标签简化写法

    基本页面格式 <!DOCTYPE> <html> <head> <meta charset="utf-8" /> <title ...

  6. vector容器的用法

    转自一篇博客^-^: 1 基本操作 (1)头文件#include<vector>. (2)创建vector对象,vector<int> vec; (3)尾部插入数字:vec.p ...

  7. window svn backup.bat

    help command /? call /? %cd% 可以用在批处理文件中,也可以用在命令行中:展开后,是驱动器盘符:+当前目录,如在dos窗口中进入c:\dir目录下面, %0代指批处理文件自身 ...

  8. 【iCore3 双核心板_FPGA】例程一:认识FPGA

    实验指导书及代码包下载: http://pan.baidu.com/s/1kUa05FL iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...

  9. Android监听Home键

    监听广播  ACTION_CLOSE_SYSTEM_DIALOGS private void registerHomeReceiver(){ IntentFilter homeFilter = new ...

  10. Xcode离线安装帮助文档

    Xcode离线安装帮助文档   1.在线查看帮助文件:Xcode下查看帮助文件,菜单Help-Developer Documentation在右上角搜索框中即可检索,但速度很慢,在线查看. 2.下载帮 ...