Android 实现扫雷小游戏实例代码实现扫雷小游戏实例代码
主要介绍了Android 实现扫雷小游戏实例代码的相关资料,需要的朋友可以参考下
Android 实现扫雷小游戏实例实现扫雷小游戏实例
最近学习Android 应用编程,抽空做个小应用,大家熟悉的扫雷应用,练手用,
以下是实现代码:
MainActivity 类类
public class MainActivity extends Activity implements OnClickListener,
OnLongClickListener {
// 最外层布局
LinearLayout textviews;
LinearLayout buttons;
int[][] map = new int[10][10];
// 用来隐藏所有Button
List<Button> buttonList = new ArrayList<Button>();
// -1
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textviews = (LinearLayout) findViewById(R.id.textviews);
buttons = (LinearLayout) findViewById(R.id.buttons);
initData();
initView();
}
Set<Integer> random地雷;
private void initData() {
// 10个地雷 显示* 数组中是-1
// 90个 雷的边上是数字,其他是空白 0 1-8
// 100个数字 从里面随机取走10个
// 初始化
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
map[i][j] = 0;
}
}
// 抽取100个数 99
random地雷 = getRandom();
// 丢入map
for (Integer integer : random地雷) {
int hang = integer / 10;// 98
int lie = integer % 10;
// 所有的地雷用-1代替
map[hang][lie] = -1;
}
// 为所有的空白地点去设置数值
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
if (map[i][j] == -1)
continue; // 继续下次循环
int sum = 0;
// 左上角
if (i != 0 && j != 0) {// 防止下标越界
if (map[i - 1][j - 1] == -1)
sum++;
}
// 上面
if (j != 0) {
if (map[i][j - 1] == -1)
sum++;
}
// 右上角
if (j != 0 && i != 9) {
if (map[i + 1][j - 1] == -1)
sum++;
}
// 左边
评论0