
lua
普通网友
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
德州扑克-allin主池边池,分池算法
最近做完了德州扑克项目,对里面的一个allin分池算法有点感悟,值得记录下来,我大概看了一个老项目的分池算法,代码非常复杂,有100多行,对此我觉得可以优化一下的,实在没必要搞得这么复杂。为此我重构了一下,大概用了50行,思路清晰,代码如下: function TableFrame:CountChiZi(lChiZiScore, bChiZiPlayer) local vecUserScore ={} local lTotalScore=mytools.clone(sel原创 2020-11-10 16:19:10 · 11768 阅读 · 0 评论 -
棋牌开发里面如何写好搜索顺子的算法
很多有3年开发经验以上的朋友,可能不屑一顾,这有何难,不就是几行代码的事,从我所见到的所有版本中,目前还没有一个令我满意的版本,满分100分最多占到70,不合格的占90%。下面我就让大家看看我公司同事写的各个搜索顺子算法的版本吧。先看斗地主的一个搜索顺子的版本-- 顺子local function IsSingleLine(nCards,nCardNum) for i=1,nCardNum-1 do if GetCard(nCards[1]) > 12 the...原创 2020-08-10 15:27:28 · 712 阅读 · 0 评论 -
记一个一年了才解决得了5个麻将的经典bug
去年血战麻将久不久会出现了碰掉一个牌,但碰掉那张牌没有移除成功。导致牌面会出现5个牌的bug,但是个bug呢你去配一样的牌,一样的步骤,动作,顺序都不能复现。经过大量分析,服务端是确定没有异常的,但客户端这个是怎么出现的,一时没有好办法就用了个最笨的办法,每次牌堆变更就下发一次牌堆牌下去更新,但是会导致服务端,前端的代码非常臃肿。这作为一个程序员来说实在是不能容忍的,优雅是程序员的最高境界,因为是前端发生的bug,我做服务端的,虽然也做过前端,一时也不太能理解前端的代码为什么出现了问题。...原创 2020-07-09 17:55:27 · 1039 阅读 · 0 评论 -
C/C++与lua二维数组交互的经典范例
最近为了解决skynet的跑得快ai的核心算法性能问题,那么我们自然就用C来写核心算法,之前从来没做过二维数组交互,也是折腾了一番才能正常理解与运行。先看示例代码//数组计算加一返回数组int GetCardCal(lua_State* L){ int arrayNum[20][20] = { 0 }; lua_pushnil(L); int index = lua_gettop(L)-1; luaL_checktype(L, index, LUA_TTABLE); //检测传递过来原创 2020-07-06 17:16:51 · 1263 阅读 · 0 评论 -
linux下lua与c++交互lua5.3调用so-64位
继上一篇windows下lua调用C++的想法,我那么linux下也想折腾一下,看看他们之间有多大的差别,使用环境centos7 ,vscode,lua5.3.4版本有这三样就行了extern "C" {#include <lua.h>#include <lauxlib.h>#include <lualib.h>};#include <iostream> #include <vector>#include .原创 2020-05-08 17:50:06 · 5000 阅读 · 0 评论 -
lua与c++交互lua5.3调用dll-64位
公司所用的框架是skynet,是c-lua语言,有时lua效率不够,又有现成的大量的C++算法,所以我就有了研究一下lua调用C++的想法,以供不备之需,准备环境是windows7,vs2013,vscode,vscode插件-Lua Debug,Lua Debugger,EmmyLua,插件是方便调试开发用的,vscode对lua5.3-64位支持比较好,建议还是用vscode...原创 2020-05-08 10:51:55 · 1706 阅读 · 0 评论