
lang
arust
不要在我面前吸烟,除非你想死
展开
-
Lua 生成 Json
[size=medium]经常要用 Lua 处理 JSON 格式的字符串,于是写了一个可以从 Lua 中的 table 生成 JSON 格式字符串的方法,虽有重造轮子之嫌,但自己写的这一小段代码在工作中更实用一些(其实主要原因还是我读不懂别人写的代码 :oops: ):[/size][code="Lua"]function table2json(t) local func...原创 2009-09-29 11:14:58 · 1784 阅读 · 1 评论 -
与众不同的扫雷之一
[size=medium]刚刚完成了一个有点特别的扫雷游戏,游戏的逻辑全部是用 Lua 实现的。虽然不同的语言可以用来描述相同的思想,但是不同的语言亦会有不同的表达方式。从网上看到的各种版本的扫雷游戏,实现算法大同小异,人云亦云,简直就是应试教育的产物。就像毕加索说的,有些画家把太阳画成一个黄斑,但有些画家借助于他们的技巧和智慧把黄斑画成太阳。我实在是没有兴趣重复别人走过的路,所以打算动手写个...2009-04-14 19:40:51 · 273 阅读 · 0 评论 -
与众不同的扫雷之二
[size=medium]继续扫雷 :D 扫雷游戏中最核心的算法,当属显示空白区域的算法,当点中的方格位于一片空白区域之中时,游戏界面上要把这一片空白区域以及包围该区域的数字边界都显示出来。首先需要明确的一点是:包围空白区域的方格只可能为数字,不可能含有地雷,这个可以用反证法证明。网上关于这个算法的实现,几乎都是低效地搜索相邻的空白区域,直到遇到数字边界为止,通常是用递归来实现...2009-04-15 19:53:40 · 253 阅读 · 0 评论 -
与众不同的扫雷之三
[size=medium]革命尚未成功!同志仍需努力! :D 有了各个海域的精确位置以及分布情况,就可以根据经纬度在大海上定位了 :D [/size][code="Lua"]function make_ocean_chart(origin_map, current_map, width, position) local ocean = classfy_sea_...2009-04-16 18:07:30 · 189 阅读 · 0 评论 -
优雅的二维数组循环赋值
[size=medium]最近在 C++ 博客上看到了一段优雅的二维数组赋值代码,学习了一下。作者为了实现图片中特定效果的二维数组,参考迷宫问题设计了一个优雅的算法,算法的基本思想就是对二维数组按照从外到内的方式赋值,在赋值的过程中加入了对二维数组边界的判断,只需要一层循环就可以实现。整个赋值过程和四冲程发动机工作原理有点类似,循环往复,各种变量之间此消彼长,代码如下:[/size]...2008-04-06 10:43:02 · 1743 阅读 · 0 评论 -
wxWidgets 中的 C 字符串
[size=medium]在 wxWidgets 中处理 C 语言字符串真是一件令人头痛的事情,因为 wxWidgets 库是 C++ 编写的,类中的成员函数大多使用 wxChar*, wxString 作为参数。然而众所周知,在 C 语言里,字符串是以字符数组的形式存储,所以当 wxWidgets 需要和一些 C 库结合使用的时候,比如 Lua,难免会遇到将 C 字符串实例化成 wxStri...2008-11-18 10:48:23 · 266 阅读 · 0 评论 -
switch
[size=medium]一直对 Lua 没有 switch 语句耿耿于怀,每次检查代码时都不得不在令人眼花潦乱的 if then elseif 语句中检查配对关系,身心俱疲,视力受损。 :? 直到今天早晨突然想到可以用 repeat until 语句模拟,试验了一下,效果还不错,代码结构顿时清晰了许多。而且,Lua 中的变量没有预定义的类型这一特性,使得这种写法比起 C 语言的 ...2009-05-11 11:16:27 · 149 阅读 · 0 评论