`
小白杨的记忆
  • 浏览: 15844 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

水果连连看

 
阅读更多
水果连连看之一

1.每次点开始游戏时,所有的图片应该重新排列

利用数组的思想,每点一次开始游戏按钮就将所有的图片保存在一个数组中,每次随即从数组中取出一个元素放在面板的第一个位置,然后把已经排列在面板中图片从数组中拿出来,将剩下的图片组成一个新的数组,按照上面的方法一个一个取出,直到该数组中的元素为0为止

下面是从一个数组中随机不重复的取出所有的数
import java.util.Random;
//从数组中随机取出几个不重复的随机数
public class Test {
public static void main(String[] args){
Test test = new Test();
//定义一个数组
int[] array = new int[10];
for(int i=0;i<array.length;i++){
array[i] = i;
}
test.printArray(array);
System.out.println();//换行
int[] newArray = test.change(array);
test.printArray(newArray);

}
//遍历数组的方法,并将数组中所有的元素打印出来
public void printArray(int[] array){
for(int i=0;i<array.length;i++){
System.out.print(array[i]+" ");
}
}
//随机改变数组元素顺序的方法
public int[] change(int[] array){
//获取原始数组的长度
int len = array.length;
//创建新的数组,来存随机出来的元素
int[] newArray = new int[len];
//随机数对象
Random rand = new Random();
//总共随机取原始数组长度这么多次
for(int i=0;i<len;i++){
//从数组长度(变化的,每取一次少一个元素)随机一个小婊
int r = rand.nextInt(array.length);
//将随机取出下标所对应的元素赋给新数组第i个元素
newArray[i] = array[r];
//随机取一次,就删除一个元素,返回删除之后的数组
array = delete(r,array);
}
//返回新创建的数组,即元素顺序随机的数组
return newArray;
}
//删除指定下标的元素
public int[] delete(int index,int[] array){
//新数组,长度比原始数组小1
int[] dest = new int[array.length-1];
//把指定下标之前的元素添加到新数组中
for(int i=0;i<index;i++){
dest[i] = array[i];
}
//把指定下标之后的元素添加到新数组中
for(int j=index+1;j<array.length;j++){
dest[j-1] = array[j];
}
//返回新数组
return dest;
}
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics