单机版本已经出来了,ovo框架适配没做,先放个卫星
起因:废话一堆,详见折叠 👇
- 上海疫情严峻,从三月多开始在家网课,网课肯定是要摸鱼的,于是开始肝代码。。。说起来,去年八月份到十月多做的rainydice怕是要无限期鸽了(基本功能已经全部完成,最基本的跑团需求已经没问题了,所以告一段落也没啥大问题(?))。。。与其去编写更多其他功能,不如过来继续写插件,做跑团辅助功能。。。然后开始寻思需求,把之前挖的坑想办法填一些
- 然后记起在很久以前,还是lua插件的时代,群里曾经有讨论过跑团实时地图制图,我好像有挖过坑(但是后来因为技术力不够最后放弃了),如今在python下,经过私下写其他软件学会了PIL制图(有同学叫我帮忙做定制功能),所以有一些眉目了(英文文档初看看不懂,看多了也就这样。。。甚至这次写的单机版项目自己的文档也是英文的)
说起来,还有一个向火独行模块至今没准备开工,因为我觉得就算做出来,多半也是单机版比较好(交互式指令在聊天群里面绝对刷屏)
- 然后后来就去忙里偷闲先去计算六角格的参数(数学公式虽热不算太难,但是这样没有题目直接算我还是很不熟练),做了些实验发现效果不错。外加想去尝试一些之前没有使用过的官方库,就干脆一鼓作气写了一个terminal版本的ui出来。
用 tkinter 做 gui 编程真的太麻烦了,之前做的那个定制软件已经整麻了, 看来我还是只适合 vb 这种所见即所得的 gui 设计(嗯,用命令行是为了之后适配ovo框架的消息指令做准备)
- 这次写这个项目,为了练手特意尝试去自己做存档文件解析,所以存档文件没有用 *.json ,存档文件的可读性变差了不少。。。。不过这样自己写存档文件,确实会减少一些转义符号,文件大小会减少(大概),如果自定义内容不算多甚至可能可以用 base64 在聊天窗口导入存档文件
(既然已经折叠了,就干脆多写点东西)
目前做了一个单机版指令行形式的python项目,虽然还有很多功能没完成,但是确实最基本的制图已经做完了
之后适配框架的思路有一些,但是可能需要晚些才能完成(咕咕咕)
单机版仓库地址 本单机版地图编辑器在 github apache 2.0
开源(此版本未接触ovo框架,所以选择了较为宽松的许可证,之后对ovo的适配端会重新建仓库选择AGPL(本来应该就会有关于存档和权限的部分需要重构,所以最后这两个项目必然需要分道扬镳)),当然欢迎一切 star,fork,pr 等内容
=> 因为当前这个项目是单机版,并不符合本论坛中插件的基本概念,所以文件我就不上传了,就是整个单机版仓库的源码,github下载下来解压之后,根目录下的 main.py 是入口文件
实例图片:
在本地的命令行中目前已经支持如下功能:
添加内容至地图:
add floor (位置) (颜色) 添加某个格子的颜色
add item [位置 A0] [印章类型 star] [color_id 0~7] [名称(虽然目前没用) abc]
add player [位置 A0] [印章类型 star] [color_id 0~7] [名称(虽然目前没用) abc] [uid 目前没用]
add color 【颜色】
show set | color | item | floor | player 查看某项存档
save 保存地图存档文件 (扩展名暂定为:*.hgdata)
load 读取保存的存档文件
new 创建新文件
render 保存图片 (pil输出, 可以为 *.jpg 或 *.png)
preview 预览图片
。。。(其他详见 [源文件](https://github.com/raininboat/hexgrid/blob/master/hexgrid/command_ui.py) )
虽然但是,本人高三再怎么摸鱼也不可能真的不看书🤣,所以之后的功能具体适配ovo平台可能要等到六月十号考好才能开始做。希望到时候不要沉迷老头环咕咕咕
如果有关于制图好的功能建议欢迎留言,虽然我短时间可能未必会回消息