连连看游戏中生成随机偶数图片的一段代码

[size=x-large]哈哈,弄上来一部分啦!~size]
现在把怎样使生成的图片为偶数贴到上面来吧!~
由于原来的代码里传入了一些参数,单独使用的话不太方便,于是就改写了一下,让它可以通用一点。呵呵!~这段代码如果还有更能改进的地方,欢迎大家跟贴提示,热情指出!~小女子在此谢谢大家哦,谢谢!~

[color=darkblue][color=olive]//我是将代表图片的字符串放进数组里,然后通过下面这段代码实现传入图片的功能

// 表格中每一表的数据类型是什么类
public Class<?> getColumnClass(int columnIndex) {
return javax.swing.ImageIcon.class;
}

// 返回指定单元格的数据
public Object getValueAt(int rowIndex, int columnIndex) {
String imageName = Sv[rowIndex][columnIndex];
javax.swing.ImageIcon ic = new javax.swing.ImageIcon(imageName);
return ic;
}[/color][/color]


以下就是生成随机偶数图片的核心代码

[color=darkred]// 生成随机偶数图片的代码

public LLKTableModel(int grade) {
LLKTableModel.grade = grade;//此为传入的参数。
M = new String[grade * grade / 2];// 暂存的一维数组,长度为最终二维数组Sv的总格子数的一半
Sv = new String[grade][grade];//这是最终完成好的数组。
temp = new String[grade * grade];// 暂存的一维数组,长度等于最终二维数组Sv的总格子数

for (int i = 0; i < M.length; i++) {
// 随机生成一个数字,将图片赋给M[i]
java.util.Random ran = new java.util.Random();// 创建一个随机对象
int index = ran.nextInt(Sn.length);// 生成0~(length-1)之间的随机数
M[i] = Sn[index];
}
//以下代码是将生成的M[i]两次赋给temp数组,保证之后temp随机赋给最终的数组时数量满足。
for (int i = 0; i < M.length; i++) {
temp[i] = M[i];
}
for (int i = 0; i < M.length; i++) {
temp[M.length + i] = M[i];
}

for (int i = 0; i < temp.length;) {
// 为Sv的行创建随机数
java.util.Random rani = new java.util.Random();// 创建一个随机对象
int indexi = rani.nextInt(grade);// 生成0~length之间的随机数
// 为Sv的列创建随机数
java.util.Random ranj = new java.util.Random();// 创建一个随机对象
int indexj = ranj.nextInt(grade);// 生成0~length之间的随机数

if (null == Sv[indexi][indexj]) {
Sv[indexi][indexj] = temp[i];
temp[i] = "";
i++;
} else {
continue;
}
}[/color]

总的来说,本人自我觉得这段代码还是比较啰嗦的,但是比我之前的那段代码也好多了。
欢迎大家的打击啊!~呵呵
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值