初始布局很简单,只要保证每一个图片的数字都是偶数就可以。然后生成一些随机数,对其中的棋子进行交换。但是,边界上用0表示,这是因为边界上的任何棋子不能相互交换的。当图片被消除后,就将数组对应的位置置0。多次交换,棋盘就是乱的,所以每次都要判断是否有没有解。
3.1.2判断两个点的连通性
两个点的连线上有三种类型:直连、一折连、二折连。
直连型:两个棋子在同一行或者同一列,且中间没有棋子。这种情况最简单。可以分为横向连接和纵向连接。
一折连:经过一个折点相连的情况,对于这种这点是固定的,只可能在两个位置,我们只要判断这个折点和两个棋子能否直接相连即可。
二折连:连接有连个折点,首先要找棋子左右没有可以延伸的空位,然后计算两个棋子水平延伸的公共部分,在公共部分中找有没有可以直连的。水平延伸的公共部分为最左边的两个空位,通过这两个折点可以把两个棋子连起来。做完水平扫描,发现棋子不能相连,还应该用同样的方法做一次垂直扫描延伸的公共部分,才能最终判断两个棋子能不能相连。
3.2连连看游戏结构分析
连连看小游戏实现了连连看的连线消除功能、游戏倒计时、帮助提示、重新排列功能。其总体结构如图1所示。
 图1  连连看总体结构
程序主要包含两大模块:表示层模块和后台逻辑模块。
表层模块可以更好的使游戏UI界面人性化,简洁美观而又大方。
(1)当结束一局后有一个菜单选项包括结束游戏,重新开始,下一关的按钮,用户可以自我选择。
(2)表示层模块中,重要的是实现游戏的布局地图View,游戏的布局将使用自定义View的方式,在屏幕上贴图实现。
(3)为了有一个友好的用户交互环境,使用户感到身心娱乐,表层模块中有个音效Player模块,在不同的状态场景下播放不同的游戏音效。
后台逻辑模块是整个程序运行的基础。它的作用是对程序计算的实现与程序各种状态的监听。
(1)此模块中,对游戏剩余时间的监听,将开启单独的线程进行处理,从而不至于影响主程序逻辑的运行;与此同时对游戏的状态也要进行监控和处理。游戏的状态包括游戏界面的更新,游戏的输赢,游戏的暂停与否。但是,游戏的暂停同时要对剩余时间的暂停。在程序中主要定义了界面显示类BoardView、消息提示类GameView、各模块监听类Listener、 难度设定类MyDialog、音效控制类SoundPlayer用来完成此模块的功能。
(2)核心算法的实现,程序中核心算法是游戏运行的重中之重,是程序顺利进行不可或缺的主体,其包括连接算法、Hint算法和死锁算法。
4.系统的详细设计与实现
4.1Android开发环境的搭建
(1)下载安装eclipse软件安装 Eclipse 插件 (ADT)。
(2)启动 Eclipse,选择 Help > Install New Software,在出现的对话框里,点击Add按钮,在对话框的name一栏输入“ADT”, 然后点击Archive,浏览和选择已经下载的ADT插件压缩文件。点击 OK.。返回可用软件的视图,你会看到这个插件,然后选择Developer Tools (会选中下面的“Android Developer Tools”和 “Android Editors”),点击 Next,最后重启 Eclipse。
(3)下载安装Android SDK,Android SDK包含了开发Android应用所依赖的jar文件、运行环境及相关工具。下载地址:http://dl.google.com/android/installer_r15-windows.exe下载完SDK后,把.zip文件解压到电脑上合适位置。启动 Eclipse,window->preferences,在打开的视图左边点击android,在右边的SDK Location中选择Android SDK所在位置。
上一篇:C#+sqlserver物资管理信息系统的设计与实现
下一篇:C#+sqlserver图书馆管理系统的设计与实现

Android课程同步练习系统的设计

Android智能手机的交互式学习系统的设计

Android移动终端的网上便利...

Android移动互动学习系统学生端设计

Android移动互动学习系统教师端设计

Android大学生素质认证系统的设计

Android的网络借贷系统的设计

公寓空调设计任务书

志愿者活动的调查问卷表

10万元能开儿童乐园吗,我...

神经外科重症监护病房患...

中国学术生态细节考察《...

国内外图像分割技术研究现状

承德市事业单位档案管理...

C#学校科研管理系统的设计

AT89C52单片机的超声波测距...

医院财务风险因素分析及管理措施【2367字】