扫雷作为经典小游戏伴随了很多人的成长,今天给大家介绍一个MATLAB版本制作的扫雷游戏。

该游戏由游戏和帮助两个主菜单帮助文档告诉玩家如何去玩如下图所示

在游戏菜单里包含:开始,低、中、高、自定义以及退出按钮。

游戏的低中高级是根据扫雷宽度决定的,用户也可以自定义扫雷的行列数。

由于代码较多故在此显示部分代码,

function  varargout = Game_NewClearMine( varargin )

if nargin == 0

OldHandle = findobj( 'Type', 'figure', 'Tag', 'NewClearMine' ) ;

if ishandle( OldHandle )

close( OldHandle ) ;

FigureHandle = figure('Visible', 'off') ;

init_FigureContent( FigureHandle ) ;

elseif ischar( varargin{1} )

if nargout > 0

[varargout{1:nargout}] = feval(varargin{:}) ;

feval(varargin{:}) ;

function generate_FigureContent( FigureHandle, ButtonNumber ) ;

TabSpace = 10 ;

MidSpace = 1 ;

ButtonColNumber = ButtonNumber(2) ;

ButtonRowNumber = ButtonNumber(1) ;

TextHeight = 25 ;

FigureWidth = ButtonColNumber * (21 + MidSpace) + TabSpace * 4 ;

FigureHeight = ButtonRowNumber * (21 + MidSpace) + TabSpace * 5 + TextHeight ;

set( FigureHandle, 'Position', [100, 100, FigureWidth, FigureHeight], 'Menubar', 'none',...

'Visible', 'off', 'Name', '扫雷',  'Tag', 'NewClearMine', 'NumberTitle', 'off',...

'DoubleBuffer', 'on', 'Units', 'pixel', 'Color', [0.85 0.85 0.85], 'Resize', 'off',...

'KeyPressFcn', 'Game_NewClearMine(''Keypress_fcn'', gcbf)' ) ;

AxesHandle = axes( 'Position', [0, 0, 1, 1], 'Units', 'pixel', 'Tag', 'MainAxes',...

'XLim', [0, FigureWidth], 'YLim', [0, FigureHeight], 'Visible', 'off' ) ;

LineXArray = [TabSpace, FigureWidth-TabSpace, FigureWidth-TabSpace, TabSpace, TabSpace] ;

LineYArray = [TabSpace, TabSpace, FigureHeight-TabSpace, FigureHeight-TabSpace, TabSpace] ;

line( LineXArray, LineYArray, 'Color', 'k' , 'Tag', 'MainFrame') ;

MenuHandle = uimenu( FigureHandle, 'Label', '游戏', 'Tag', 'MainMenu' ) ;

SubMenuTag = {'Begin', 'Easy', 'Normal', 'Hard', 'Custom', 'Exit' } ;

SubMenuString = {'开始(&B)', '低级(&E)', '中级(&N)', '高级(&H)', '自定义(&C)', '退出(&Q)'};

SubMenuCallback = {'Game_NewClearMine( ''BeginMenu_Callback'', gcbo)',...

'Game_NewClearMine( ''EasyMenu_Callback'', gcbo)',...

'Game_NewClearMine( ''NormalMenu_Callback'', gcbo)',...

'Game_NewClearMine( ''HardMenu_Callback'', gcbo)' ,...

'Game_NewClearMine( ''CustomMenu_Callback'', gcbo)',...

'close(gcf)'} ;

SubMenuSeparator = {'off', 'on', 'off','off','off','on'} ;

本公众号属于个体公众号没有什么收益来维护运营,请支持的朋友们多点击一下文章底端广告,谢谢大家!在学习中得到乐趣,在乐趣中收获学习,欢迎关注和分享该公众号。获取本游戏在公众号回复关键字【扫雷】即可,本次代码已上传qq群。如果您有什么建议可以公众号直接回复即可,期待您的加入,也希望您分享给您身边有需要的人。

matlab编写扫雷,MATLAB版本的扫雷小游戏相关推荐

  1. 实验内容:编写程序,模拟抓狐狸小游戏。假设一共有一排5个洞口,小狐狸最开始的时候在其中一个洞口,然后玩家随机打开一个洞口,如果里面有狐狸就抓到了。如果洞口里没有狐狸就第二天再来抓,但是第二天狐狸会在

    '''编写程序,模拟抓狐狸小游戏.假设一共有一排5个洞口,小狐狸最开始的时候在其中一个洞口, 然后玩家随机打开一个洞口,如果里面有狐狸就抓到了.如果洞口里没有狐狸就第二天再来抓, 但是第二天狐狸会在玩 ...

  2. c语言像素鸟游戏,mfc编写的像素鸟flappy bird 小游戏

    压缩包内容概览: mfc编写的像素鸟flappy bird 小游戏-FP_Beta1 ; 调试 ; FPβ1 ; 关于我们 ; 背景 ; FPβ1.VCXPROJ ; FPβ1动态心电图 ; 管子 ; ...

  3. 编写程序,实现猜数小游戏。

    编写程序,实现猜数小游戏.随机生成一个0~99(包括0和99)的数字,从控制台输入猜测的数字,输出提示太大还是太小,继续猜测,直到猜到为止,游戏过程中,记录猜对所需的次数,游戏结束后公布结果.程序运行 ...

  4. 我用 MATLAB 复刻了抖音爆火小游戏 苹果蛇

    最近抖音上苹果蛇小游戏大火,为了证明MATLAB无所不能,咋能不跟风做一个?于是就有了这一篇. 还是提一句这个小游戏开始玩的心路历程: 第1-5关:?这不就是有重力的贪吃蛇,有任何难度嘛?? 第6关: ...

  5. PROTEUS最新版本下载CSDN_233乐园小游戏下载最新版本-233乐园小游戏下载并安装下载免费...

    <233乐园小游戏下载并安装>是一款非常好用的游戏盒子类的软件,玩家能够通过软件找到包括樱花校园模拟器等在内的各种最新版本的破解版游戏资源,免费进行体验,另外还可以交友分享自己的生活,认识 ...

  6. python编写一个简单的猜数字小游戏

    该脚本包含了python基础的部分内容,python初学者既可以学习借鉴,也可以向朋友去装13. 本次编写的内容需要导入一个第三方模块random,可获得规定范围的随机数. 首先打开pycharm中下 ...

  7. 如何利用JAVA编写一个简单的石头剪刀布的小游戏

    楼主为了完成作业,花了一小会时间自己琢磨了一下,写出了这个石头剪刀布的小游戏. 思路很简单,就是令石头=2,剪刀=1,布=0,那么电脑随机生成一个数,分别去对应,游戏者同时也输入一个数字,也是对应着前 ...

  8. 手把手教你用MATLAB制作一款 [狗头翻牌子] 小游戏(点灯游戏)

    0 游戏效果 就是点击一个牌子时,该牌子和周围四个牌子也会相应发生变化,想办法让所有牌子都在同一面即为游戏胜利. 1 fig界面和背景板 这一段比较简单,主要是对界面和背景板的属性设置,我们采用编程的 ...

  9. matlab编写数学公式,matlab各类数学公式

    matlab矩阵应用 clear %建立矩阵的两种方式 A1 = [1 2 3 4 5; 6 7 8 9 10]; A2 = [ 1 2 3 4 5 6 7 8 9 10 ]; %一种是换行用引号,一 ...

  10. matlab编写文件格式,MATLAB程序设计教程(4)——MATLAB文件操作

    MATLAB程序设计教程(4)--MATLAB文件操作 第4章MATLAB文件操作 4.1 文件的打开与关闭 4.2  文件的读写操作 4.3  数据文件定位 4.1 文件的打开与关闭 4.1.1 文 ...

最新文章

  1. 十分钟了解分布式计算:Petuum
  2. 个体重构:将重构应用到生活中
  3. 红米android版本,微信红米低版本下载
  4. CentOS7 源码编译安装Redis shell脚本
  5. MacBook写代码真香!包邮送一台!
  6. C语言之字符串探究(三):字符串库函数操作——strlen、strcat、strcpy、strcmp
  7. 学习java之利用泛型访问自己定义的类
  8. 程序出错后 程序员给测试人员的20条高频回复
  9. LVS的VS/NAT及VS/DR类型实现
  10. Family.Show:一个很好玩的东东
  11. 【Pix4d精品教程】Pix4Dmapper完整航测内业操作流程手把手图文教程
  12. ubuntu 20.04安装输入法,微信,QQ,亲测使用很方便。
  13. java的青蛙跳井的编程_JAVA青蛙跳井使用流程控制语句:(1)有只青蛙坐在井底,离井口有20个单位长.(2)它使足力气可以连条3次,然后会下滑...
  14. C语言中文分号,问什么C程序里总是提示缺少分号;,而明明有分号?
  15. iOS Sonar 集成流程
  16. unity怎么制作云飘动_Unity Shader教程之 旗帜飘扬效果的简单实现
  17. <aop:aspectj-autoproxy />AOP自动代理
  18. ubuntu账户添加和删除
  19. 鸿蒙华为商标,华为已注册鸿蒙商标 鸿蒙有什么含义?华为注册的商标盘点
  20. 导出excel时报错

热门文章

  1. win7虚拟机_虚拟机VMware 15安装教程
  2. FIFA Women's World Cup France 2019™ -国际足协继海奶奶女子世足杯曲终人散,USA碰杯
  3. 如何用 Telemetry 测试移动 APP H5性能?
  4. 使用SwipeRecyclerView配合下拉刷新出现Scrapped or attached views may not be recycled. isScrap:false isAttached:
  5. 23andme的申请流程和注意事项
  6. 终于明白#!bin/sh是什么意思了
  7. 真实渗透改编--综合渗透 sql注入写马+文件上传+udf提权 安鸾靶场SQL注入学习
  8. “蔚来杯“2022牛客暑期多校训练营1 J Serval and Essay(启发式合并)
  9. 再也不担心写出臃肿的Flink流处理程序啦,发现一款将Flink与Spring生态完美融合的脚手架工程-懒松鼠Flink-Boot
  10. 标准化/归一化对机器学习经典模型的影响