【Lua游戏】100%Lua语言开发的2048游戏(Android版)
lua吧
全部回复
仅看楼主
level 13
沙城雨人 楼主
2014年04月01日 19点04分 1
level 13
沙城雨人 楼主
下载地址:[无效] http://pan.baidu.com/s/1pJpZQA3
是基于Quick Cocos 2d-x开发的,纯天然无广告,欢迎下载、传播。
目前只编译了Android版的,本来还可以编译IOS和WINDOWS版,暂时没时间弄。
中途退出,会自动保存游戏进度。下次进入的时候可以接着玩,或者点新游戏重新开始。新开游戏直接退出可以消除保存的进度。
支持20步undo(悔棋)。
支持最高到8192。
各种操作提示。
欢迎讨论算法和技巧。
不会开源,因为这个版本已经比较完善,可以直接挂广告发布了。
最后一句,如果想做跨平台的游戏,推荐大家学习Quick cocos2d-x:
http://cn.quick-x.com/
2014年04月01日 19点04分 2
windows版本已上传,在同一个共享文件夹下。压缩包中包括了核心算法的lua源程序(在原GameModel.lua基础上保留了核心算法,去除了悔棋、存进度等其他不重要内容)。
2014年04月21日 18点04分
@矮番薯_爱翻书 @panyaolin123 @moruifang7 欢迎一起研究算法。
2014年04月21日 18点04分
回复 沙城雨人 :嘿嘿~嗯~以后还有什么好玩的东西想做也叫上我呀~粉你~
2014年04月22日 00点04分
回复 沙城雨人 :windows怎么打开...
2014年05月17日 08点05分
level 13
大神[乖]
有没有愿意收免费徒弟的
2014年04月02日 01点04分 3
这这个论坛基本上合理的问题我都会回。
2014年04月02日 03点04分
回复 沙城雨人 :谢谢。我是想学 因为我只用过脚本精灵的lua
2014年04月02日 04点04分
回复 103008737500 :2b
2014年04月02日 04点04分
回复 103008737500 :
2014年04月03日 10点04分
level 2
卤煮用的什么IDE?求教?Quick cocos2d-x可以在什么平台用?
2014年04月02日 02点04分 4
我用sublime,因为有大神开发了一款sublime的quick-x插件。偶尔也用Ldt。 quick cocos2d-x 可以在windows和mac两个平台下工作,自带一个模拟器(player),调试很方便。
2014年04月02日 03点04分
level 6
马克
2014年04月02日 05点04分 5
level 1
敢问 怎么标题说是lua,内容说是cocos2d?到底用什么做啊
2014年04月04日 13点04分 6
我给了链接的,你敢点进去看一眼么?
2014年04月04日 18点04分
好吧,quick X的网站做到确实太烂了,你百度一下吧。总之我就是100% lua实现的。
2014年04月04日 18点04分
level 1
求源码
2014年04月06日 13点04分 8
and求加qq指导 840685540
2014年04月06日 14点04分
level 11
大神
2014年04月26日 01点04分 9
level 3
学习一下
2014年04月26日 04点04分 10
level 4
quick用的人越来越多了啊
2014年05月04日 17点05分 11
level 12
早玩过了
2014年05月11日 09点05分 12
相比你玩过的版本:可以多步反悔(undo),可以自动或手动存进度,用户友好性会强很多。
2014年05月11日 22点05分
回复 沙城雨人 :饿,我想知道这个apk与lua是怎么做到的
2014年05月14日 13点05分
level 1
谢谢分享。。 看下您的undo的实现。
2014年06月19日 08点06分 13
level 1
Lz 求教 undo redo的实现方法。
我现在想用Lua 实现面向对象机制,用命令模式实现undo redo的操作。楼主有考虑过这个实现方法么。 我越想越感觉不太现实,因为是编辑器是用面向过程写的。
LZ 给下思路吧,并求下 undo redo 实现的源码,[email protected] 谢谢。
2014年06月19日 09点06分 14
如果只悔一步,那么只需记录上一步的局面以及新出的两个cell即可。而要实现多步undo,就将每一步后的局面做成一个结构(表),然后插入一个进度表里面,其中每一行是一个进度。这样就能实现无限的undo
2014年06月20日 23点06分
面向对象的基础是class,lua可以用table来模拟class,而且实现得很好,我所有程序都是在这个class的基础上做的。具体实现可以搜索一下网上相关教程,如果层主找不到这个class程序,我可以发上来。
2014年06月20日 23点06分
回复 沙城雨人 :可我们现在做的编辑器已经差不多成型了,是基于面向过程写的,用CLASS实现是不是不太现实。Lz发一下你说的Class程序吧,我参考下。谢谢了。
2014年06月21日 05点06分
level 13
沙城雨人 楼主
简单版本的class定义:
local _class={}
function _class:new(o)
local o = o or {}
setmetatable(o, self)
self.__index = self
return o
end
function Class(o)
return _class:new(o)
end
调用方法:
newclass = Class(o)
o是一个可选的table,类实例。在其中定义类的初始成员等。如果不代入参数,会自动建立一个空table作为类实例。
2014年06月21日 08点06分 15
2014年06月21日 08点06分
level 13
沙城雨人 楼主
一个比较复杂,功能较强的class定义:
--Create an class.
function class(classname, super)
local superType = type(super)
local cls
if superType ~= "function" and superType ~= "table" then
superType = nil
super = nil
end
if superType == "function" or (super and super.__ctype == 1) then
-- inherited from native C++ Object
cls = {}
if superType == "table" then
-- copy fields from super
for k,v in pairs(super) do cls[k] = v end
cls.__create = super.__create
cls.super = super
else
cls.__create = super
end
cls.ctor = function() end
cls.__cname = classname
cls.__ctype = 1
function cls.new(...)
local instance = cls.__create(...)
-- copy fields from class to native object
for k,v in pairs(cls) do instance[k] = v end
instance.class = cls
instance:ctor(...)
return instance
end
else
-- inherited from Lua Object
if super then
cls = clone(super)
cls.super = super
else
cls = {ctor = function() end}
end
cls.__cname = classname
cls.__ctype = 2 -- lua
cls.__index = cls
function cls.new(...)
local instance = setmetatable({}, cls)
instance.class = cls
instance:ctor(...)
return instance
end
end
return cls
end
这个支持用function以及C++类作为基类来继承。
2014年06月21日 08点06分 16
2014年06月21日 08点06分
回复 沙城雨人 :非常感谢
2014年06月21日 09点06分
学习了
2014年12月29日 01点12分
大神有没有小白可以学的东西>.<
2015年02月02日 05点02分
level 1
Quick Cocos 2d-x可不能叫100%lua,只是在游戏引擎上加一层lua调用而已。
2014年06月27日 05点06分 17
level 1
sublime 和你那个区别在哪? 新手
2014年07月04日 03点07分 18
level 2
能看看这个游戏那出错了吗?
2014年07月25日 05点07分 20
脚本的逻辑比较简单,那几句取随机的函数也比较简单,一般都没啥问题。不过在做分支判断的时候,if nRet_w == 1.... else if nRet_w == 6 ... end, 你这可以加个else分支,输出个调试信息,万一不知道什么原因,nRet_w被其他进程变成一个未知的值呢,到处都在用全局变量,这种可能性还是有的。
2014年07月27日 00点07分
另外,我曾经碰过一哥们说math,rodom造成c++端崩溃,所以他从c++开放了一个rand函数给lua用,也就是说lua端不用内置的math.random,具体原因不详,估计是luabind的隐蔽bug,换一种用法可能就好了。
2014年07月27日 00点07分
level 1
抄袭开源,然后闭源,说原创
码农比作家,在这点上,要好混得多
2015年01月20日 10点01分 21
我的核心代码在共享中可以下载得到,很早前就发到了Quick官方1群里面了,如有任何雷同,一定是别人抄袭我,我没有参考过任何别人的代码。
2015年01月20日 13点01分
1 2 尾页