【Android】2048

来源:互联网 发布:mysql count 多个字段 编辑:程序博客网 时间:2024/06/05 14:33

打包好的APK:http://pan.baidu.com/share/link?shareid=1088710780&uk=185595768

1.游戏画面布局:



2.游戏元素

主场景:GameView

数字卡片:Card

3.游戏触控逻辑设计:

当用户手指点击屏幕的时候,记下该点坐标,

当用户手指离开屏幕的时候,记下该点坐标,

将两次的坐标作差,以此来判断用户到底想滑向那个方向

4.游戏的逻辑

(1)一开始的时候,随机生成2个数字,2或者4,而且2的概率约为90%

(2)向某个方向滑动,遇到相同数字的就相加折叠在一起,同时产生一个新的数字2

(3)如果方阵全满数字,而且每个数字的上下左右都不相同(不能移动)时,结束游戏

5.项目过程中遇到的难题:

(1)从一个类中调用另一个类中的public方法

解决方法:在一个类中(这里是MainActivity)

//添加构造函数public MainActivity() {mainActivity = this;}//定义private static MainActivity mainActivity = null;public static MainActivity getMainActivity() {return mainActivity;}
这样就可以在另一个类(GameView),中调用MainActivity的方法

如:MainActivity.getMainActivity().clearScore();

(2)给TextView中的字体设置为粗体字

解决方法:

TextView label = new TextView(getContext());

label.getPaint().setFakeBoldText(true);

(3)给TextView添加圆角框框

解决方法:

参考:http://blog.csdn.net/wyzxk888/article/details/7171967

(4)居中水平LinearLayout中的Button

解决方法:新建一个空的TextView用来占位


0 0
原创粉丝点击