本篇文章主要介绍了"Android-开发一个拼图小游戏",主要涉及到Activity,行号方面的内容,对于Android开发感兴趣的同学可以参考一下:
这次是学习android后,利用java编写一个拼图游戏, 先上效果图 (以下图片均来自网络, 仅作为学习研究用, 不可用于商业用途):启动时是这样的:打开...
核心一句,如果是用内置图片,imageView.setImageResource(currentPicId); 如果是自己从相册找的,imageView.setImageURI(imageUri);
再用一个Timer定时器,设置一定的时间后自动回到界面即可
3. 带横竖线的图片怎么实现?
其实就是画完图片,
for(inti=0;i<>
for(intj=0;j<>
canvas.drawBitmap(showPic[k++],spaceWidth/2+width/COLS
*j,spaceHeight/2+height/ROWS*i,null);
}
再画横线及竖线, 最笨的方法
Paintp=newPaint();
p.setColor(Color.BLACK);//setcolor
intx1=0;
inty1=0;
intx2=0;
inty2=0;
for(inti=1;i<>//rowlines
x1=spaceWidth/2;
y1=spaceHeight/2+height/ROWS*i;
x2=spaceWidth/2+width;
y2=y1;
canvas.drawLine(x1,y1,x2,y2,p);//
}
for(inti=1;i<>//collines
x1=spaceWidth/2+width/COLS*i;
y1=spaceHeight/2;
x2=x1;
y2=spaceHeight/2+height;
canvas.drawLine(x1,y1,x2,y2,p);//
}
p=null;
4. 随机的图片块怎么实现?
就是将原先的图片数组showPic[k++]打乱, 不过打乱后要核对下数组的有效性(奇偶性), 不然最后拼不起来,
核心代码:
/*
*function:checkthemaparrayandmakesureitisvalidity.input:length,
*mapoutput:boolean;
*/
publicbooleanparityCheck(intlength,int[]a){
//返回数组的排列的逆序数加上0元素行号和列号的奇偶性,true为偶,false为奇。
intv=0;
intzeroIndex=0;
for(inti=0;i<>
for(intj=i+1;j<>
if(a[i]>a[j]){
v++;
}
}
if(a[i]==0){
zeroIndex=i;
}
}
intlineIndex=zeroIndex/COLS+1;
intcolIndex=zeroIndex%ROWS+1;
return((lineIndex+colIndex+v)%2==0);
}
5. 难度怎么实现?
就是分成几行几列了, 选择难度后重新初始化即可
6. 音乐, 音效怎么加?
用MediaPlayer和SoundPool, 很简单的. 查AIP文档
7. 各个界面(活动)怎么衔接?
这个用Intent即可, 带结果启动和不带结果启动Activity两种, 最基础的.
时间比较少, 测试用例也没弄, 大概用手机调试了下, 可能有bug, 但可以用的, 有想去可以去下载玩下.