易游网-易游模拟器

 找回密码
 立即注册
查看: 2300|回复: 0

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

[复制链接]

1412

主题

1669

帖子

1万

积分

管理员

夏墨独周

Rank: 9Rank: 9Rank: 9

积分
10094

论坛元老技术达人

QQ
发表于 2020-2-27 22:51:06 | 显示全部楼层 |阅读模式
利用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虚拟机栈比较小,有待进一步考察



来源:易游模拟器(QQ:207621422),转载请注明出处!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|易游网-易游模拟器 Copyright @2015-2021 ( 浙ICP备15028007号-1 )

GMT+8, 2024-11-27 11:52 , Processed in 0.016608 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表