疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

android开发—连连看开发技巧(1)


 

android游戏开发技巧之连连看

Android连连看

本文将以连连看来介绍有关Android开发的要点:
1.开发单机休闲游戏的基本方法
2.单机游戏的界面分析
3.单机游戏的游戏界面与数据建模
4.开发单机游戏的界面组件
5.初始化单机游戏的状态
6.自定义View开发游戏主界面
7.实现游戏的Activity
8.定义事件监听器实现游戏的人机交互
9.分情况分析游戏的逻辑处理针对不同情况提供实现
       本文介绍将会介绍一个非常常见的小游戏:连连看,这个游戏是一个单机的休闲小游戏。连连看的游戏界面上均匀分布上2N个尺寸相同的图片,每张图片在游戏中都会出现偶数次,游戏玩家需要依次找到两张相同图片,而且这两张图片之间只用横线、竖线相连(连线上不能有其他图片),并且连线的条数不超过3条,那么游戏会消除这两个图片。
       对于Android学习者来说,学习开发这个小程序难度适中,而且能很好地培养学习者的学习乐趣。开发者需要从程序员的角度来看待玩家面对的游戏界面,游戏界面上的每个图片在底层只要使用一个数值标识来代表即可,不同的图片使用不同的数值表示,只要代表图片的数值相等,即可判断两张图片相同。
开发连连看游戏除了需要理解游戏界面的数据模型之外,程序开发者还需要判断两个方块是否可以相连,为了判断两个方块是否可以相连,开发者需要对两个方块所处的位置进行分类,然后针对不同的情况采用不同的判断算法进行判断,这需要开发者采用条理化的思维方式进行分析、处理,这也是学习本章需要重点掌握的能力。
1.连连看游戏简介
         连连看是一款广受欢迎的小游戏,它具有玩法简单、耗时少等特征,尤其适合广大白领女性在办公室里休闲、放松。图18.1显示了连连看的游戏界面:
连连看的游戏界面
图18.1 连连看游戏界面
       从图18.1可以看出,在连连看的游戏界面中,平均分布着2N张图片,每张图片都会出现偶数次,游戏玩家要做的事情就是依次找出两张相同的图片,如果这两张图片之间只用横线、竖线相连(连线上不能有其他图片),并且连线的条数不超过3条,那么游戏会消除这两个图片;当整个游戏中所有图片都被消除时,游戏结束。
       图18.2所示左上角的两个方块之间的连接线只有3条,这两个方块将会被消除:
连连看可消除方块示意图
图18.2 可以消除的方块
        连连看可做成单机小游戏,让脱机用户在适当的时候来独自放松;也可以做成网络对战游戏——让两个用户在进行比赛:谁能最先消除游戏中的所有方块,也就是谁先胜利。
连连看的游戏界面比较简单,而且游戏的实现逻辑也不会太复杂,正适合Android初学者作为编程进阶的练习项目。
2 开发游戏界面
连连看的游戏界面十分简单,大致上可分为两个区域:
        游戏主界面区。
        控制按钮与数据显示区。

2.1 开发界面布局

本程序将会使用一个RelativeLayout作为整体的界面布局元素,界面布局的上面是一个自定义组件,下面是一个水平排列的LinearLayout。
程序清单:codes18Link eslayoutmain.xml
 
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/room">
 
android:id="@+id/gameView"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
 
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:layout_marginTop="380px"
android:background="#1e72bb"
android:gravity="center">
 
android:id="@+id/startButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/button_selector" />
 
android:id="@+id/timeText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="20dip"
android:width="150px"
android:textColor="#ff9" />
 
 
这个界面布局很简单,指定按钮的背景色时使用了@drawable/button_selector,这是一个在resdrawable目录下配置的StateListDrawable对象,配置文件代码如下:
程序清单:codes18Link esdrawable-mdpiutton_selector.xml
android:drawable="@drawable/start_down"
/>
android:drawable="@drawable/start"
/>
 
开发了上面界面布局文件之后,其中GameView只是一个View的普通子类,运行该程序将可以看到如图18.3所示的界面:
连连看的游戏布局
图18.3 游戏布局
(未完.摘自[疯狂Android讲义.李刚])