1.开发一个VSCode扩展:自动生成TypeScript接口代码
2.有谁知道星际争霸的源码网页版游戏啊?
开发一个VSCode扩展:自动生成TypeScript接口代码
开发一个VSCode扩展:自动生成TypeScript接口代码
业务背景:在前后端联调过程中,前后端字段的源码准确描述和转化成前端 TypeScript 类型描述是一项费时费力且繁琐的任务。为了解决这个问题,源码我们开发了一个VSCode插件,源码它可以根据后端生成的源码 Open API 格式的 JSON 文件准确地生成对应的 TypeScript 接口调用代码和相应的输入输出参数类型描述。
功能拆解:功能实现简要说明代码模版生成,源码java mplayer 源码VSCode已有方便的源码交手架供我们生成样板代码,通过操作一步步生成即可。源码
解析Open API JSON:参考 Open API 文件规范,源码已有开源项目openapi-typescript-codegen帮我们解析文件。源码源码清晰易懂,源码选择将整个文件拷贝到工程中以供修改。源码关键解析代码入口包括openapi-typescript-codegen/src/oepnApi/v3/parser 和 openapi-typescript-codegen/src/oepnApi/v2/parser,源码将对应工程目录下的源码open API文件解析成JSON,并以工程根目录为key,源码作为value存起来。当open API文件有更新,记得重新解析并监听对应类型文件变更,执行相应回调。
提示词触发并查找相关API数据:当用户当前文档格式为ts|tsx,监听用户输入,触发提示词后,搜索当前文件对应的工程目录,从之前收集的allApiDataCollection数据中查找。根据搜索结果,调用vscode.InlineCompletionItem产生提示,并响应用户操作插入代码。
生成代码插入文档:openapi-typescript-codegen采用handlebars模版将api JSON data转化成对应代码。bc源码费用直接使用插件API插入生成好的代码。
发布插件及后续改进:完整代码地址为:github.com/NearImba/pai... 如果觉得有帮助,求star,感谢支持。
有谁知道星际争霸的网页版游戏啊?
韦诺之战1.4.1的屏幕截图韦诺之战是一个基于由六边形地图组成的回合制策略游戏,可以进行单机的战役和多人游戏各种形式的比赛。游戏的一个中心哲学就是KISS原则(释义:保持简单,愚蠢);在接受新的想法时,不应使游戏更加复杂。[1]
每个单位都有自己的长处和短处。地形对一个单位的防御力(实际为闪避率),所以单位的安置和地形非常重要。不同种类的攻击(近身战斗和远程攻击),武器类型(剑刃,穿刺,冲击,寒冰,火焰,奥术),地形适应性,以及昼夜循环往复,守序和混乱的单位,都影响着战略的进行。在整个战役中,单位可以提高到更高的等级并且变得更加强大。在战役过程中,发展一支个性化的常德网站源码由高级单位组成的部队是一种乐趣。
多人模式中,除了传统的对战还发展出Survival(守城,探险)、淘汰战等一系列游戏模式。顺带一提的是一些游戏模式跟魔兽争霸3的在线游戏模式类似,不过转化为回合制。
韦诺之战最大的特色在于开源,玩家可以修改单位,战役,地图,规则等内容,且可以直接参与官方版本开发(自然留名)。
在插件下载区有各种玩家自行设计的人物形象和规则包,甚至自行设计的战役。
[编辑] 游戏背景
韦诺之战整个游戏是在一个奇幻游戏的环境中的。玩家用不同的单位组成军队,它们来自不同的种族,比如说人类、精灵、矮人、兽人、龙族还有许多其他令人惊讶的种族。这包括许多自定义的种族,因为任何人都可以自定义游戏。
游戏的名称韦诺(Wesnoth)最初由游戏的创建者用多个音节合并创造,他认为这听起来很象一个幻想的大陆。当这个项目变得更大、jvm框架源码更复杂时,开发者们为这个名称创造了一个虚构的词源:在韦诺大陆上的居民来自西部(west)和北部(north),成为“Westnorth”, 最终演变为Wesnoth。这个词源在战役韦诺起源(The Rise of Wesnoth)中得到了解释。
[编辑] 集团
韦诺之战当前有六个默认的集团:
韦诺之战中用户贡献的巫妖图像,纳入了游戏。反抗者:主要由精灵单位组成,包括树人和法师。大多数一级单位拥有近战和远程攻击,这使反抗者们非常灵活。精灵可以忽视昼夜的影响,且在森林中拥有较高的防御力。他们的速度一般都很快,但在大多数其他地形中稍弱于其他单位。
纳尔迦联盟:包括缓慢但是健壮的矮人,它们拥有很强的近战攻击,与一些人类歹徒结盟,在黑暗的洞穴中拥有更好的攻击力。一般来说,矮人可以在山脉和丘陵中获得较高的防御力。同时,矮人穿越洞穴的能力要高于其他种族,而且可以忽视昼夜的影响。它们在开放的地形中很容易被攻击,同时它们的人类歹徒在这些地形中可以更好地战斗。
保皇派:这些都是人类骑兵、法师和步兵,fcitx源码安装他们在白天可以更好地战斗,与人鱼是盟友。他们是最多样化的集团,拥有比别的集团更多的单位,除了纳尔迦联盟。
北方民族:一个由兽人和地精组成的集团,跟随着巨魔,还有娜迦盟友。其好处是招募便宜,蛮力大,在晚上攻击力更强,多数单位只需少量经验值就可以升级。这些单位在穿越山丘是往往移动性更强。
不死族:不死族很容易受到火焰、冲击和奥术的攻击,但对于剑刃,穿刺,尤其是寒冰伤害,都有较强的防御。不死族依靠容易获得的魔法和毒药的攻击。有些单位可以牺牲健康的敌方单位,来恢复自己的生命值,而且大多数都可以免疫中毒。不像其他种族,大多数不死族单位没有特点和自己的名字。
龙族:一个像龙的种族,在白天有更高的攻击力。大多数可以飞,可以喷射火焰。他们的蜥蜴盟友速度更快,更喜欢在沼泽地区和夜间战斗,尽管他们与龙族一样易受到寒冰的伤害。龙族是机动性最强的种族,但他们的大小使他们在大多数地形中都容易受到攻击。
种族中确切的单位,以及种族名称,基于不同的时代或战役改变。上面的种族都在“默认”时期,一般用于多人联网对战,它的扩展为“英雄时代”。
也有一些用户创建的集团,有一些在可以下载的“时代”中组合到一块。比如说,“帝国时代”包括土匪、野生精灵, 具有完整的新单位树和能力。然而,很可能在默认时代创造集团,尽管每个创造者给出的数量可能有所不同。
[编辑] 战役
0.9.6版本中游戏教程的指示韦诺之战中的一个战役,即是一个独立的故事。每个战役有多种级别的难度。如果要获得更多的战役,可以通过点击“下载插件”按钮连接到官方的战役服务器。 下面是目前稳定版本自带的一些战役介绍:
继位者:一个年轻的继承人,孔列,与精灵和其他种族结盟,从邪恶的女王艾斯威勒手中夺回王位,艾斯威勒拥有忠诚的军队和一群兽人雇佣军。这是韦诺之战最早的战役,韦诺之战的不少重要人物从这里产生。
兽人入侵:这是一个初学者级别的战役,你的保卫森林的精灵要对抗第一次踏上韦诺大陆的兽人。在这里,你能学到很多宝贵的战术。
兄弟传说:雇佣军骑士首领的弟弟被邪恶的巫师绑架了,必须把他救出来。
堕入黑暗:一个年轻的法师要从兽人的袭击下拯救他的人民。
自由:一些穷困的村庄揭竿而起,他们反对Asheviere女王的暴政。为了自由,这样就背叛了韦诺王国,于是他们不但要和韦诺正规军交战,还不得不面对兽人、亡灵等敌人。
北国复兴:人们为了争取自由,反抗残暴的统治者,与兽人作斗争,重新回复北方大地的辉煌。
东部入侵:在这个战役中,一名皇家军队的军官被派往东方边境,试图从不死族的入侵中拯救韦诺王国。
黑眼之子:伟大的兽人领袖黑眼卡伦的儿子团结其他部落,与自私的人类作斗争。
瑟斯冈之锤:一支来自Knalga的探险队贯穿北国,去搜寻传说中的瑟斯冈之锤。(由著名的黑客,开源的拥护者埃里克·雷蒙编写)
韦诺的崛起:这个战役是关于Haldric王子如何建立韦诺王国的。他带领他的人民逃脱绿岛,还要面对巫妖王威胁。
黑暗部落(The Dark Hordes):这个战役是关于一个被放逐的亡灵法师。他在旅途中寻找Crelanu之书。
火焰权杖:这个战役讲述了火焰权杖的故事。火焰权杖在战役“继位者”中提到过,是韦诺王国的信物。
南疆哨所:迪奥兰,一个青年骑士,被派去接管南疆哨所,率领军队与歹徒和不死族作斗争。这个战役是介绍韦诺基础的。
双日之下:这个战役发生在韦诺遥远的将来,在两个太阳之下,精灵们习惯了生活的沙漠中。却有一天,流星从天空落下摧毁了他们的家园。勇敢的而富有远见的***Kaleh带着同胞走出沙漠,寻找家园。该战役设计在游戏结构上修改的内容较多,被认为是最为接近RPG的战役。
[编辑] 编辑器
韦诺之战的地图编辑器
从1.5.4版本开始,地图编辑器不再独立。名为editor2,要从游戏主菜单中打开。[2]
[编辑] 发展
韦诺之战是用C++编写的。它是跨平台的,可以运行在AmigaOS 4,BeOS,FreeBSD,Linux(包括运行在GP2X和诺基亚n、n手持设备上的),Mac OS X,Morphos,NetBSD,OpenBSD,RISC OS,Solaris以及Microsoft Windows。
韦诺之战的发展在一定程度上是因为其自由和开放源代码的性质。与游戏捆绑下载的官方战役通常来自社区创造的内容,与专有游戏软件用户的生成内容(MOD)有所不同。专有游戏的用户生成内容通常并不纳入游戏的官方版本。韦诺之战的论坛和wiki都用来开发新的战役,包括新的单位类型和剧情的插图。游戏也支持从中心应用服务器下载新的战役。官方战役服务器上的内容必须使用GNU通用公共许可证授权,就像游戏本身一样。
即使不计算这些社区内容,游戏官方版本中的贡献者列表也包含近个条目(年5月)。游戏的开发者还包括一些在自由软件界众所周知的作者,就像开放源代码促进会的共同创始人埃里克·雷蒙[3]和Linux内核开发者Rusty Russell[4][5]。
[编辑] 版本
在年月,韦诺之战发布了1.0里程碑版本。年月9日,1.4.6版发布。年1月日,在1.5.x发展分支中最新的版本1.5.8发布。各种版本的韦诺之战已经从Sourceforge网站被下载了两百六十多万次[6]。截至年6月,韦诺之战已经拥有种语言的版本[7]。作为一个自由软件,用户可以随时下载最新版本,推荐资深用户使用SVN[8],还可以自行修改游戏源代码以适应自己的需要。
[编辑] 音乐
韦诺之战的音乐作曲者旨在为游戏创造一些完全古典的声音[9]。例如这一片段:
韦诺之战的一段音乐(作曲:Timothy Pinkham)