自制的第一个vscode语言扩展插件

自制的第一个vscode语言扩展插件

最近迷上了TRPG(Tabletop Role-playing game,桌上角色扮演游戏),即俗称的“跑团”。玩家在主持人的引导下,扮演自己的游戏角色进行冒险。在结束之后,会有想要将这个过程记录下来的欲望,从而有了各种各样的“跑团replay视频”。

制作跑团replay视频比较复杂,但回声工坊这一高效工具的出现,让这个过程变得非常简单,只需要找好媒体素材(角色立绘、背景图片、BGM、音效等)以及处理一下跑团Log(即跑团游戏记录)就可以很快输出一集视频。

为了更加方便跑团replay视频的制作,我编写了一个vscode插件——TRPG Replay Generator Log——来方便跑团Log的处理。

本文对编写这个插件的过程做一个记录和总结。

阅读更多
从markdown到nga bbscode的转换程序

从markdown到nga bbscode的转换程序

NGA(艾泽拉斯国家地理)论坛使用一种自定义的名为 bbscode 的代码来排版帖子内容,类似HTML,它也是一种标记语言,对bbscode的详细介绍可见:[NGA常用BBS代码][奥运帖]Project N —— 《从入门到精通:排版的艺术 Ver.3》

这种论坛自定义标记语言可以和markdown、html进行相互转换。例子如下:

1
2
3
4
5
6
7
[h]标题[/h]
[b]加粗文字[/b]
[list]
[*] 列表项
[*] 列表项
[/list]
[quote]引用块[/quote]

在使用NGA论坛的时候遇到了将markdown文本转换为bbscode的需求,所以打算用python写一个简单的转换程序。由于不涉及复杂的GUI,本项目使用tkinter来编写界面。

项目地址:

阅读更多
基于React+Electron的CraftTweaker脚本生成器

基于React+Electron的CraftTweaker脚本生成器

在看到好友StringOD的一篇博客《我的世界自定义配方脚本生成器》之后,我有了些想法。

CraftTweaker是沙盒游戏Minecraft的一个Mod(Modification,模组,游戏的一种修改或增强程序),通过使用一种名为ZenScript的自定义脚本语言,修改游戏中的合成配方。

不过这个mod的最新版本是没有对应的GUI程序的,所以要生成想要的合成配方不是那么容易,得手动编写ZenScript脚本。StringOD的那篇博客中,用易语言实现了一个功能比较完善的GUI程序——AutoSpawnZScript

恰好我在大四的第一个综合实践中使用过React+Antd来编写前端界面,而且之前用hexo-client的时候了解到了Electron这个东西可以把web程序变为桌面应用程序,所以就想用React+Antd+Electron来尝试编写一下这个逻辑简单的脚本生成器,以巩固React的知识,以及学习一下Electron怎么用。

本文主要讲一下本项目(CraftTweaker-Assistant,托管于gitee)的大致情况与设计思路。

阅读更多
scrapy+selenium爬取智联招聘

scrapy+selenium爬取智联招聘

这是第三个大四综合实践——数据处理与分析。我们小组打算爬取各个招聘网站进行数据分析。

我负责其中的爬虫模块,教了两个队友怎么使用scrapy,打算我解决完爬取数据的一些难题之后,剩余的解析就交给他们。

我觉得解析数据只是苦力活,只要爬取到带有数据的html,剩下的就很轻松了。最后我选择使用selenium,这样就不用分析接口了,两个刚学爬虫的队友也能轻松搞定。

很快地搞定了前程无忧网和拉勾网之后,我在爬取智联招聘网遇到了很多问题。本文将这些问题以及解决方案记录下来,供读者参考。

阅读更多
【项目复盘】网络软件开发综合实践
【作业总结】python写的DES替代算法的gui小工具

【作业总结】声卡数据采集及处理

这学期开了网络化测控课,第二周开头就布置了一个相当有难度的作业:

以小组为单位,写一个声卡数据采集程序,功能要求:

  1. 以曲线形式显示波形;
  2. 利用数字滤波器对数据进行平滑滤波;
  3. 对声音信号进行 FFT 变化,计算信号的主频。

对于缺乏很多前置知识的我们专业的学生来说,这确实非常有难度。

到编写本文的时候,已经进行了三天,基本功能编写完成,还需要进一步优化,为了能够偷懒,为了让队员能够更加了解本次项目,以及我自己能够从中学到东西,撰写本文如下。

本文并不专业,作者本身不是控制专业,所以出现错误在所难免,本文不是教程,仅仅是一次作业的记录复盘,不能保证正确性。

码云仓库开源链接

阅读更多

【编程练习】java简易学生管理系统

上周一个数据库作业,用文件读写的方式来实现学生信息的读写,从而与数据库编程的方式进行对比。

在这个练习中,我主要是打算熟悉一下 java 的文件操作,因为我发现我学了 java 之后基本没有写过文件读写。

本文主要总结一下本练习用到的一些知识点,方便下次使用。

本文对应的 github 库

阅读更多

【编程练习】明日非舟抽卡模拟器(1)按照概率抽取干员星级

好友封掣写了一个明日方舟模拟寻访,于是也想做一个来作为 java 的练手,这学期写课设的时候就体现出我平时写代码写太少了。

当然,经过这学期末的编码轰炸,我现在可不敢像以前一样没有计划地直接开始,先想好它的架构,随后再开始编写,并留下系列博文记录,供以后参考。

本项目连载 github 库地址

阅读更多