admin 发表于 2020-2-27 22:51:06

利用haxe重写c++算法,生成lua和js 智能拆牌提示算法代码

利用haxe重写c++算法,生成lua和js 智能拆牌提示算法代码供cocoscreator和cocos2dx调用笔记支持以下类型:

Integer(int): 整数类型, 不支持更进一步详细的整数类型,比如short, long啥的, 类似动态语言的做法.
Float: 浮点数, 也是一个浮点走天下.
Boolean(Bool): 布尔, 代表的是true和false.
String: 字符串, 不解释.
Void: 用于表示没有类型和值.
Dynamic: 类似C#中的dynamic类型, 意图在静态语言中加入动态的效果, 个人很欣赏的尝试.
Unknown: 类似javascript中的undefined.
另外, 还有null关键字, 类型是Unknown<0>.

var i : Int = 5;


字符串拼接用+

整形函数是拷贝传递

类和结构体是传引用

结构体初始化
//牌型组合数据结构
typedef CardGroupData = {
    //枚举类型
    var cgType:Int;
    //该牌的价值
    var nValue:Int;
    //含牌的个数
    var nCount:Int;
    //牌中决定大小的牌值,用于对比
    var nMaxCard:Int;//说明一下nMaxCard,比如说99,他的nMaxCard就是9,比如说33366,他的nMaxCard就是3。被动出牌规则便是通过这个值进行判断是否可以出牌。
};

var uctCardGroupData:CardGroupData = {cgType:0,nValue:0,nCount:0,nMaxCard:0};


总结:上帝的语言还是比较强大的,从c++代码迁移到haxe代码很轻松,测试生成的py,php,js,lua运行效果一致发现lua生成的代码效率比js慢很多,可能递归算法比较复杂,lua虚拟机栈比较小,有待进一步考察

页: [1]
查看完整版本: 利用haxe重写c++算法,生成lua和js 智能拆牌提示算法代码