三国杀开源系列之一104@365

(此文原在新浪博客上发的,但是新浪博客的插入代码实在是不友好,忍无可忍的情况下,又回到csdn上重新写一遍。)

        一直想写一系列的系列教程,这么多年挖了很多大坑一直没有填(坑都在小本本上记着,欠下的债迟早都要还),现在准备开始慢慢填坑了。三国杀是其中一个坑,刚毕业那会儿,在csdn上写过一个太阳神开源三国杀的编译教程,用的是QT C++的框架,后来也自己写过几个武将、装备、锦囊啥的,再后来太阳神三国杀论坛关闭了,那会儿下载的好多半成品的开源工程,包括水浒杀、英雄杀、闯关杀等等,现在电脑里依然保存着这些代码,大多数还都能编译通过。后来太阳神官方版的源代码不再更新了,三国杀online更新了一个又一个版本,这两个版本之间也没有了同步,直到最近在水浒杀的qq群里,发现了无名杀。

       无名杀是基于html+js+css,核心代码使用js实现的,目前仍与三国杀online保持同步更新,而且还出了很多有趣的扩展模式,比如塔防、战旗、炉石、斗地主等等,更为重要的是,QQ群里保持高度的活跃。于是,准备先拿这个源代码进行练手,开始我三国杀开源系列的教程编写。

       无名杀的源代码下载地址:https://github.com/libccy/noname.git

       无名杀扩展包的源代码下载地址:https://github.com/libccy/noname-extension.git

       在开始研究主体源代码前,先以写扩展包为基础,农村包围城市,慢慢一点一点的剥洋葱。QQ群里有数以百计扩展包,我选取英雄杀为标的进行制作,原因很简单,英雄杀有官方的参照,更重要的是有资源,省却了美工、配音等一系列的工作。但初步来开,无名杀的扩展能力仍然没有太阳神那样灵活。anyway,不管白猫黑猫,能抓住老鼠就是好猫。

       无名杀比太阳神还有一个地方就是,没有现成的文档可参阅(太阳神三国杀光api都有好多人整理,至于如如何写武将、技能、装备、锦囊等卡牌的教程那就更多了),只能靠查看之前的代码慢慢摸索了。

       PS:这些教程是我自学的一个记录,所以很多不理解的地方,我会先把坑留着(又是坑!!!)回头会再补。

      ---------忧伤的分割线(以上是废话)---------

       无名杀的扩展包,有以下文件组成:

       1、代码文件:只需要一个extension.js即可

       2、资源文件:图片、配音等,放在同级目录之下即可。

       首先,看下extension.js文件的构成。

       1、整个文件有一个函数构成,这个函数有两个参数,一个字符串和一个函数

game.import()

game.import("extension",function(lib,game,ui,get,ai,_status){})

       2、字符串“extension”是固定不变的,重点看这个function函数,如下:

输入参数共6个:lib,game,ui,get,ai,_status

返回值长度为8的数组:name="xx",content:function (config,pack){},precontent:function (){},help:{},config:{},package:{},editable:false,files:{}

       整个形式如下:

game.import("extension",function(lib,game,ui,get,ai,_status){
      return {
            name:"",
            content:function (config,pack){},
            precontent:function (){},
            help:{},
            config:{},
            package:{},
            editable:false,
            files:{}
    }
})

       3、现在开始逐个讲解返回数组的每个参数之name和content:function

name='xhero', //扩展包的名字,我起名x英雄杀
//content:function (config,pack){},可留空,可以根据不同的配置文件加载不同内容,可以自定义翻译、音乐播放、图片特效等等内容,其他作用暂时还没吃透,等后面用得到的时候再讲。本扩展包,当前版本暂时只用到翻译功能(君、臣、民、魂),内容如下:
content:function (config,pack){
    lib.group.push('min');
			lib.translate.min='<span style="color:#00EC00">民</span>';
			lib.translate.minColor='wood';
    lib.group.push('chen');
			lib.translate.chen='<span style="color:#0072E3">臣</span>';
			lib.translate.chenColor='water';
			lib.group.push('jun');
			lib.translate.jun='<span style="color:#FF8000">君</span>';
			lib.translate.junColor='gold';
			lib.group.push('hun');
			lib.translate.hun='<span style="color:#FF0000">魂</span>';
			lib.translate.hunColor='fire';
},

(明天要去体检,今天就先写到这儿吧。)

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值