重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
利用Android开发一个扫雷小游戏?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
隆林ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!具体内容如下
先看效果图:
初始游戏界面:
翻开块和标记块界面:
游戏结束界面:
菜单界面:
更换难度界面:
查看游戏记录界面:
代码分析
Block.java
这部分代码实现的是游戏界面的板块
设置四个变量来记录当前块是否被翻开,当前块是否是地雷,是否把当前快标记为地雷(也就是插旗子),当前块周围的地雷数量。
关键部分代码:
//设置翻开状态 public void setNumberOfSurroundingMines(int number) { this.setBackgroundResource(R.drawable.selected);//设置翻开背景图 updateNumber(number);//设置周围雷数 } //添加雷块标识 public void setMineIcon() { this.setBackgroundResource(R.drawable.dl); } //添加标记标识 public void setFlagIcon(boolean enabled) { if (!enabled) { this.setBackgroundResource(R.drawable.hq); } else { this.setTextColor(Color.BLACK); } } //清除所有标记 public void clearAllIcons() { this.setText(""); this.setTextColor(R.drawable.unselected); } private void setBoldFont() { this.setTypeface(null, Typeface.BOLD); } //翻开方块 public void OpenBlock() { if (!isCovered) { return; } isCovered = false; //如果为雷设置地雷标识 if (hasMine()) { setMineIcon(); } else { setNumberOfSurroundingMines(numberOfMinesInSurrounding);//根据周围雷数设置翻开状态及显示数字 } }