电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Android實現掃雷小游戲

瀏覽:2日期:2022-09-21 17:16:18

本文實例為大家分享了Android實現掃雷小游戲的具體代碼,供大家參考,具體內容如下

先看效果圖:

初始游戲界面:

Android實現掃雷小游戲

翻開塊和標記塊界面:

Android實現掃雷小游戲

游戲結束界面:

Android實現掃雷小游戲

菜單界面:

Android實現掃雷小游戲

更換難度界面:

Android實現掃雷小游戲

查看游戲記錄界面:

Android實現掃雷小游戲

代碼分析

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);//根據周圍雷數設置翻開狀態及顯示數字 }}

LevelActivity

這部分把玩家選擇的難度easy或hard傳遞給MenuActivity

package com.example.saolei;import androidx.appcompat.app.AppCompatActivity;import android.content.Intent;import android.os.Bundle;import android.view.View;public class LevelActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_level); } /*根據不同難度返回相應參數*/ public void Easy(View view) { Intent data = new Intent(); data.putExtra('result', 'easy'); setResult(2, data); finish(); } public void Hard(View view) { Intent data = new Intent(); data.putExtra('result', 'hard'); setResult(2, data); finish(); } public void Return(View view) { Intent data = new Intent(); data.putExtra('result', ''); setResult(2, data); finish(); }}

MenuActivity

這部分是菜單頁面,包括難度選擇和游戲記錄的查看

這里接收難度選擇界面傳回的參數并將其傳回主界面處理

package com.example.saolei;import androidx.appcompat.app.AlertDialog;import androidx.appcompat.app.AppCompatActivity;import android.content.Intent;import android.os.Bundle;import android.view.View;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStreamReader;import java.util.Scanner;public class MenuActivity extends AppCompatActivity { String t = 'easy'; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_menu); } @Override //接收難度界面傳回的參數并將其傳回主界面處理 protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == 2) { Intent level = new Intent(); t = data.getStringExtra('result'); level.putExtra('result', t); setResult(1, data); finish(); } } //點擊新游戲按鈕,將結果傳回主界面 public void NewGame(View view) { Intent data = new Intent(); data.putExtra('result', 'newgame'); setResult(1, data); finish(); } //點擊改變難度按鈕,啟動難度選擇界面 public void ChangeLevel(View view) { Intent level = new Intent(MenuActivity.this, LevelActivity.class); startActivityForResult(level, 2); } //點擊游戲記錄按鈕,顯示記錄 public void Record(View view) { String filename = getExternalCacheDir().getAbsolutePath() + '/gamerecord.txt';//文件路徑 File file = new File(filename); Scanner inputStream = null; FileInputStream fis = null; BufferedReader br = null; String str; String message = ' ' + '級別' + ' ' + '勝負' + ' ' + '時間n'; //若文件不存在,顯示暫無記錄 if (!file.exists()) { new AlertDialog.Builder(this) .setMessage('暫無記錄!') .setNegativeButton('確定', null) .create().show(); } else { try {//讀取文件記錄并生成對話框顯示inputStream = new Scanner(new FileInputStream(filename));int i = 1;fis = new FileInputStream(filename);br = new BufferedReader(new InputStreamReader(fis));while ((str = br.readLine()) != null) { message = message + (i + '. ' + str + 'n'); i++;}new AlertDialog.Builder(this) .setMessage(message) .setNegativeButton('確定', null) .create().show();fis.close();br.close(); } catch (FileNotFoundException e) {e.printStackTrace(); } catch (IOException e) {e.printStackTrace(); } finally {inputStream.close(); } } } //點擊返回按鈕,回傳結果到主界面 public void Return1(View view) { Intent data = new Intent(); data.putExtra('result', 'start'); setResult(1, data); finish(); }}

MainActivity

這部分是主體內容,包括游戲初始化,雷區的創建,游戲勝負的判定,游戲結果的存檔等

這部分比較長,就不貼代碼了

最后附上完整項目鏈接

更多有趣的經典小游戲實現專題,分享給大家:

C++經典小游戲匯總

python經典小游戲匯總

python俄羅斯方塊游戲集合

JavaScript經典游戲 玩不停

java經典小游戲匯總

javascript經典小游戲匯總

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Android
相關文章:
主站蜘蛛池模板: 章丘丰源机械有限公司 - 三叶罗茨风机,罗茨鼓风机,罗茨风机 | 南京租车,南京汽车租赁,南京包车,南京会议租车-南京七熹租车 | 散热器-电子散热器-型材散热器-电源散热片-镇江新区宏图电子散热片厂家 | 幂简集成 - 品种超全的API接口平台, 一站搜索、试用、集成国内外API接口 | 镀锌角钢_槽钢_扁钢_圆钢_方矩管厂家_镀锌花纹板-海邦钢铁(天津)有限公司 | 818手游网_提供当下热门APP手游_最新手机游戏下载 | 手板-手板模型-手板厂-手板加工-生产厂家,[东莞创域模型] | 自动气象站_农业气象站_超声波气象站_防爆气象站-山东万象环境科技有限公司 | 苏州伊诺尔拆除公司_专业酒店厂房拆除_商场学校拆除_办公楼房屋拆除_家工装拆除拆旧 | 活性炭-蜂窝-椰壳-柱状-粉状活性炭-河南唐达净水材料有限公司 | 电动手术床,医用护理床,led手术无影灯-曲阜明辉医疗设备有限公司 | loft装修,上海嘉定酒店式公寓装修公司—曼城装饰 | 创富网-B2B网站|供求信息网|b2b平台|专业电子商务网站 | 企典软件一站式企业管理平台,可私有、本地化部署!在线CRM客户关系管理系统|移动办公OA管理系统|HR人事管理系统|人力 | 【铜排折弯机,钢丝折弯成型机,汽车发泡钢丝折弯机,线材折弯机厂家,线材成型机,铁线折弯机】贝朗折弯机厂家_东莞市贝朗自动化设备有限公司 | 体视显微镜_荧光生物显微镜_显微镜报价-微仪光电生命科学显微镜有限公司 | 航拍_专业的无人机航拍摄影门户社区网站_航拍网 | 上海恒驭仪器有限公司-实验室平板硫化机-小型平板硫化机-全自动平板硫化机 | 防火门-专业生产甲级不锈钢钢质防火门厂家资质齐全-广东恒磊安防设备有限公司 | IP检测-检测您的IP质量| 无缝钢管-聊城无缝钢管-小口径无缝钢管-大口径无缝钢管 - 聊城宽达钢管有限公司 | 阴离子_阳离子聚丙烯酰胺厂家_聚合氯化铝价格_水处理絮凝剂_巩义市江源净水材料有限公司 | 电竞馆加盟,沈阳网吧加盟费用选择嘉棋电竞_售后服务一体化 | 全自动定氮仪-半自动凯氏定氮仪厂家-祎鸿仪器 | 春腾云财 - 为企业提供专业财税咨询、代理记账服务 | 北京翻译公司_同传翻译_字幕翻译_合同翻译_英语陪同翻译_影视翻译_翻译盖章-译铭信息 | 水热合成反应釜-防爆高压消解罐-西安常仪仪器设备有限公司 | 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | 新疆散热器,新疆暖气片,新疆电锅炉,光耀暖通公司 | 【电子厂招聘_普工招工网_工厂招聘信息平台】-工立方打工网 | 酒店品牌设计-酒店vi设计-酒店标识设计【国际级】VI策划公司 | 广东恩亿梯电源有限公司【官网】_UPS不间断电源|EPS应急电源|模块化机房|电动汽车充电桩_UPS电源厂家(恩亿梯UPS电源,UPS不间断电源,不间断电源UPS) | 上海橡胶接头_弹簧减震器_金属软接头厂家-上海淞江集团 | 茶叶百科网-茶叶知识与茶文化探讨分享平台| EDLC超级法拉电容器_LIC锂离子超级电容_超级电容模组_软包单体电容电池_轴向薄膜电力电容器_深圳佳名兴电容有限公司_JMX专注中高端品牌电容生产厂家 | 新密高铝耐火砖,轻质保温砖价格,浇注料厂家直销-郑州荣盛窑炉耐火材料有限公司 | 广东西屋电气有限公司-广东西屋电气有限公司 | 粒米特测控技术(上海)有限公司-测功机_减速机测试台_电机测试台 | 深圳诚暄fpc首页-柔性线路板,fpc柔性线路板打样生产厂家 | 冷柜风机-冰柜电机-罩极电机-外转子风机-EC直流电机厂家-杭州金久电器有限公司 | 商标转让-购买商标专业|放心的商标交易网-蜀易标商标网 |