首页
会员中心
到顶部
到尾部
android毕设

Android平台的拼图游戏软件

时间:2020/10/27 9:00:39  作者:  来源:  查看:0  评论:0
内容摘要:     基于Android平台的拼图游戏软件是一款具有娱乐性、益智性、便捷性的游戏软件。此软件可以使用户放松心情,享受于拼图游戏的乐趣之中。该游戏软件可以让用户选择适合自己的难度,根据用户的不同水平,锻炼其图片记忆能力以及拼凑还原能力。另外要求软件...

     基于Android平台的拼图游戏软件是一款具有娱乐性、益智性、便捷性的游戏软件。此软件可以使用户放松心情,享受于拼图游戏的乐趣之中。该游戏软件可以让用户选择适合自己的难度,根据用户的不同水平,锻炼其图片记忆能力以及拼凑还原能力。另外要求软件设计精致,画面亲和,人机交互高效快捷,能够给用户带来人性化的服务。软件面向的主流群体集中在年轻人,但也适宜儿童或者老人使用,提供了适宜各类用户群体的图片风格与难度设置。不论是旨在轻松娱乐,还是益智教育的目的该软件都是一款家庭生活中以及学习生活的必备软件。

系统功能需求
 
 
对于拼图游戏,其功能描述如下
1、拼图,玩家可以通过触摸的方式来移动和拼合图片。
2、系统提供难度选择模块,玩家可以自己选择适合的难度。
3、背景音乐,当用户开启背景音乐时,系统能够自动播放背景音乐。
4、图片选择,玩家可以选择不同的图片进行拼图。
 
 
系统算法分析
1. 问题说明
关于八数码问题,是该程序设计的一个难点,也是首要突破的一的难点,搞清楚八数码函数的运算逻辑是该程序设计的关键。
 
254
17
386
123
84
765
123
456
78
                                 
 
八数码的问题说明如图6-5所示,八数码问题(九宫问题)在一个3*3的九宫中有1-8这8个数及一个空格随机的摆放在其中的格子里。现在要求实现这个问题:将打乱的九宫格调整为与图片吻合的形式。调整的规则是:每次只能将与空格(上、下、或左、右)相邻的一个数字平移到空格中。
2. 示例分析
具体分析,九宫问题中,程序产生的随机排列转换成目标共有两种可能,而且这两种不可能同时成立,也就是奇数排列和偶数排列。我们可以把一个随机排列的数组从左到右从上到下用一个一维数组表示,我们就可以表示成{8,7,1,5,2,6,3,4,0}其中0代表空格。
状态为:
 8 7 1
 5 2 6
 3 4 0
在这个数组中我们首先计算它能够重排列出来的结果,公式是:
∑(F(X))=Y,其中F(X)
就是一个数他前面比这个数小的数的个数,Y为奇数和偶数各有一种解法。那么上面的数组我们就可以解出它的结果。
F(8)=0;(数字8前没有比其小的数字)
F(7)=0;
F(1)=0;
F(5)=1;(数字5前有一个比其小的数字“1”)
F(2)=1;
F(6)=3;
F(3)=2;
F(4)=3;
Y=0+0+0+1+1+3+2+3=10
Y为偶数,所以进行偶数排列。
123
456
78
 
 
 
    最后得到的结果如图6-6所示,八数码问题是该游戏软件的设计重点,理解八数码函数是程序设计的关键。八数码问题用于拼图游戏中图片的拆分方法。也就是说,当运用到八数码问题后,按照八数码函数进行运算,才能保证图片拆分后,经过用户的拼凑,最终可以完成整个拼图游戏,而不会无解。
3.生成随机数
private void randomGenerated(int n) {
int radom = 0;
Vector<Integer> vector = new Vector<Integer>();// 存放已经生成的数字
int[] num = new int[n];
for (int i = 0; i < n; i++) {
radom = (int) (Math.random() * n);
while (vector.contains(radom) == true)// 循环比较新生成的随机数是否在向量里面
// false不在true存在
{
radom = (int) (Math.random() * n);
}
vector.add(radom);
num[i] = radom;
}
for (int i = 0; i < col; i++) {
for (int j = 0; j < row; j++) {
Picture picture = new Picture();
picture.value = num[i * row + j];// 逐行创建每张图片的值
pictrueArray[j][i] = picture;// 传递游戏中图片值保存到数组中
Log.i("TAGVALUE", "" + pictrueArray[j][i].value);
}
}
// 切割图片
cutBitmap(mBitmap);
}
 
 


相关评论
android毕设
    本类推荐
      广告联系QQ:45157718 点击这里给我发消息 电话:13516821613 杭州余杭东港路118号雷恩国际科技创新园  网站技术支持:黄菊华互联网工作室 浙ICP备06056032号