易语言Ex_DirectUI自绘扫雷游戏源码

MineMartix

.版本 2
.支持库 spec
.程序集 MineMartix, Ex_控件基类, , ExDUI扩展组件_扫雷按钮
.程序集变量 m_颜色, 整数型
.程序集变量 m_透明度, 整数型
.程序集变量 m_Rect, RectF
.程序集变量 m_hIcon, 整数型, , , 图像句柄
.程序集变量 m_单击回调指针, 整数型
.程序集变量 m_Mine, 逻辑型
.程序集变量 m_Pos, PointF
.程序集变量 m_Num, 整数型, , , 周围雷数量
.程序集变量 m_pFont, 整数型, , , 字体指针
.程序集变量 m_GPs, Gdip_文本格式
.程序集变量 m_ClickdColor, 整数型, , , 点击后颜色
.程序集变量 m_CurrentColor, 整数型, , , 当前颜色
.子程序 _初始化, , , 当基于本类的对象被创建后,此方法会被自动调用
.子程序 _销毁, , , 当基于本类的对象被销毁前,此方法会被自动调用
.子程序 Obj, 整数型
.参数 hWnd, 整数型
.参数 msg, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.判断开始 (msg = #事件_初始化)
 m_pFont = 字体_创建 (“微软雅黑”, 12)
 m_GPs.创建 (#文本格式标志_不换行)
 m_ClickdColor = RGB2ARGB (#黑色, 80)
 重画 ()
 调试输出 (hWnd, msg)
.判断 (msg = #事件_销毁)
 图像_销毁 (m_hIcon)
.判断 (msg = #事件_绘画)
 Paint (hWnd, 1)
.判断 (msg = #事件_动画开始)
 动画类型 (#动画类型_默认)
.判断 (msg = #事件_动画结束)
 动画帧数 (0)
.判断 (msg = #事件_进入组件)
 动画帧数 (16, 10)
 Paint (hWnd, 2)
.判断 (msg = #事件_离开组件)
 动画帧数 (16, 10)
 Paint (hWnd, 1)
.判断 (msg = #事件_左键按下)
 动画帧数 (16, 10)
 Paint (hWnd, 3)
.判断 (msg = #事件_左键放开)
 动画帧数 (16, 10)
 Paint (hWnd, 2)
 .如果真 (m_CurrentColor ≠ #黑色)
  .如果真 (m_单击回调指针 ≠ 0)
   调用子程序_ (m_单击回调指针, m_Pos.x, m_Pos.y)
  .如果真结束
 .如果真结束
.默认
.判断结束
返回 (-1)
.子程序 Paint
.参数 hObj, 整数型
.参数 Status, 整数型, , 1.正常 2.点燃 2.按下
.局部变量 m_ps, Exs_PaintStruct
.局部变量 color, 整数型
Ex_BeginPaint (hObj, m_ps, , 真)
.如果真 (Status = 1)
 图形_填充_矩形 (m_ps.mGraphics, m_ps.Rcf, RGB2ARGB (m_CurrentColor, m_透明度)) ' 画正常状态
.如果真结束
.如果真 (Status = 2)
 图形_填充_矩形 (m_ps.mGraphics, m_ps.Rcf, RGB2ARGB (m_CurrentColor, 180)) ' 画点燃状态
.如果真结束
.如果真 (Status = 3)
 图形_填充_矩形 (m_ps.mGraphics, m_ps.Rcf, RGB2ARGB (m_CurrentColor, m_透明度 + 40)) ' 画按下状态
.如果真结束
.如果真 (m_hIcon ≠ 0)
 图形_绘图 (m_ps.mGraphics, m_hIcon, m_ps.Rcf, 真) ' 画雷图片
.如果真结束
.如果真 (m_Num ≠ 0)
 .如果真 (m_Num = 1)
  color = RGB2ARGB (#蓝色)
 .如果真结束
 .如果真 (m_Num = 2)
  color = RGB2ARGB (#绿色)
 .如果真结束
 .如果真 (m_Num = 3)
  color = RGB2ARGB (#红色)
 .如果真结束
 .如果真 (m_Num = 4)
  color = RGB2ARGB (#紫色)
 .如果真结束
 .如果真 (m_Num = 5)
  color = RGB2ARGB (#红褐)
 .如果真结束
 .如果真 (m_Num = 6)
  color = RGB2ARGB (#天蓝)
 .如果真结束
 .如果真 (m_Num = 7)
  color = RGB2ARGB (#白色)
 .如果真结束
 .如果真 (m_Num = 8)
  color = RGB2ARGB (#深灰)
 .如果真结束
 图形_画文本 (m_ps.mGraphics, MakeRCF (m_ps.Rcf.left + 3, m_ps.Rcf.top, m_ps.Rcf.Width, m_ps.Rcf.Height), A2W (到文本 (m_Num)), m_pFont, color, m_GPs.取指针 (), #文本效果_描边, RGB2ARGB (#白色, 120)) ' 画标题
.如果真结束
图形_描边_矩形 (m_ps.mGraphics, m_ps.Rcf, #边框_单线式, RGB2ARGB (#白色), 1) ' 画边框
Ex_EndPaint (hObj, m_ps)
.子程序 Create, 整数型, 公开
.参数 窗口句柄, 整数型
.参数 左边, 整数型
.参数 顶边, 整数型
.参数 宽度, 整数型
.参数 高度, 整数型
.参数 颜色, 整数型, , rgb
.参数 透明度, 整数型
m_颜色 = 颜色
m_CurrentColor = m_颜色
m_透明度 = 透明度
m_Rect.left = 左边
m_Rect.top = 顶边
m_Rect.Width = 宽度
m_Rect.Height = 高度
返回 (初始化 (窗口句柄, m_Rect, 1020150, 真, , #鼠标指针_手型))
.子程序 SetIcon, , 公开
.参数 Icon, 字节集
.如果真 (Icon = { 0 })
 .如果真 (m_hIcon ≠ 0)
  图像_销毁 (m_hIcon)
  m_hIcon = 0
 .如果真结束
 重画 ()
.如果真结束
m_hIcon = 图像_创建自字节集 (Icon)
重画 ()
.子程序 SetClickEvents, , 公开
.参数 pcbk, 整数型
m_单击回调指针 = pcbk
.子程序 SetXY, , 公开, 设置坐标
.参数 x, 整数型
.参数 y, 整数型
m_Pos.x = x
m_Pos.y = y
.子程序 SetMine, , 公开, 设置为雷
m_Mine = 真
.子程序 CleanMine, , 公开, 清除雷
m_Mine = 假
.子程序 CheckMine, 逻辑型, 公开, 检测是否为雷
返回 (m_Mine)
.子程序 SetMineNum, , 公开, 设置周围雷数量
.参数 Num, 整数型
m_Num = Num
重画 ()
.子程序 SetStatus, , 公开
.参数 Status, 整数型, , 0.未点击状态 1.点击后状态
.如果真 (Status = 0)
 m_CurrentColor = m_颜色
.如果真结束
.如果真 (Status = 1)
 m_CurrentColor = #黑色
.如果真结束
重画 ()
.子程序 GetStatus, 整数型, 公开
.如果真 (m_CurrentColor = m_颜色)
 返回 (0)
.如果真结束
.如果真 (m_CurrentColor = #黑色)
 返回 (1)
.如果真结束
返回 (0)

自绘扫雷游戏

此功能需要加载Ex_DirectUI 2.0模块

.版本 2
.支持库 eAPI
.程序集 窗口程序集1
.程序集变量 Ex, Ex_DirectUI
.程序集变量 Martix, MineMartix, , "10,10"
.程序集变量 Mine, PointF, , "0"
.程序集变量 ScorePos, PointF, , "0"
.程序集变量 Btn, 按钮_Ex
.程序集变量 TimeBtn, 超级按钮_Ex
.程序集变量 ScoreBtn, 超级按钮_Ex
.程序集变量 restartBtn, 超级按钮_Ex
.程序集变量 Frame, 分组框_Ex
.程序集变量 Time, 整数型
.程序集变量 Score, 整数型
.子程序 __启动窗口_创建完毕
.局部变量 i, 整数型
.局部变量 j, 整数型
Ex.挂接皮肤 (取窗口句柄 (), , #银白, 1 + 2 + 4, 150, , 0, , , , , 假)
Frame.创建 (取窗口句柄 (), 16, 66, 180, 180)
.计次循环首 (10, i)
 .计次循环首 (10, j)
  Martix [i] [j].Create (取窗口句柄 (), j × 16 + 10, i × 16 + 60, 16 + 1, 16 + 1, #天蓝, 100) ' 扫雷按钮矩阵
  Martix [i] [j].SetXY (i, j)
  Martix [i] [j].SetClickEvents (到整数 (&Martix_Click)) ' 挂接单击事件
 .计次循环尾 ()
.计次循环尾 ()
TimeBtn.创建 (取窗口句柄 (), 16, 30, 76, 30, “Time:001”)
restartBtn.创建 (取窗口句柄 (), 92, 30, 30, 30, “重置”)
restartBtn.挂接事件 (10244, &Init)
ScoreBtn.创建 (取窗口句柄 (), 122, 30, 73, 30, “Score:000”)
Btn.挂接事件 (10244, &Init)
Init ()
Ex.置进入特效 (7)
Ex.置退出特效 (2)
.子程序 RandPoint, PointF, , 生成随机不重复坐标
.参数 最大值, 整数型
.参数 数量, 整数型
.局部变量 nPoint, PointF, 静态, "0"
.局部变量 i, 整数型
.计次循环首 (数量, i)
 nPoint.x = 取随机数 (1, 最大值)
 nPoint.y = 取随机数 (1, 最大值)
.计次循环尾 ()
.子程序 Init
.局部变量 x, 整数型
.局部变量 y, 整数型
.局部变量 i, 整数型
.局部变量 Point, PointF
时钟1.时钟周期 = 0
Score = 0
Time = 0
ScoreBtn.标题 (“Score:000”)
TimeBtn.标题 (“Time:000”)
置随机数种子 ()
.计次循环首 (取数组成员数 (Mine), i) ' 清除雷
 Martix [Mine [i].x] [Mine [i].y].SetIcon ({ 0 })
 Martix [Mine [i].x] [Mine [i].y].CleanMine ()
 Martix [Mine [i].x] [Mine [i].y].重画 ()
.计次循环尾 ()
.计次循环首 (取数组成员数 (ScorePos), i) ' 清除已经点过的方格
 Martix [ScorePos [i].x] [ScorePos [i].y].SetStatus (0)
 Martix [ScorePos [i].x] [ScorePos [i].y].SetMineNum (0)
 Martix [ScorePos [i].x] [ScorePos [i].y].重画 ()
.计次循环尾 ()
清除数组 (Mine)
清除数组 (ScorePos)
.计次循环首 (10, i) ' 随机埋雷
 x = 取随机数 (1, 10)
 y = 取随机数 (1, 10)
 Martix [x] [y].SetMine ()
 Point.x = x
 Point.y = y
 加入成员 (Mine, Point)
.计次循环尾 ()
.子程序 Martix_Click
.参数 x, 整数型
.参数 y, 整数型
.局部变量 i, 整数型
.如果真 (时钟1.时钟周期 = 0)
 时钟1.时钟周期 = 1000
.如果真结束
.如果 (ClickMine (x, y) = 真)
 增加分数 (x, y)
 .计次循环首 (10, i)
  Martix [Mine [i].x] [Mine [i].y].SetIcon (#MinePic)
 .计次循环尾 ()
 时钟1.时钟周期 = 0
 信息框_Ex (取窗口句柄 (), “您输了! 分数:” + 到文本 (取数组成员数 (ScorePos)), , , , , , , , , , 真, , #银白, 120, 0, , , 假, , 7, 2)
 Init ()
.否则
 .如果 (Score < 90)
  自动区域 (x, y)
 .否则
  时钟1.时钟周期 = 0
  信息框_Ex (取窗口句柄 (), “恭喜通关! 时间:” + 到文本 (Time), , , , , , , , , , 真, , #银白, 120, 0, , , 假, , 7, 2)
  Init ()
 .如果结束
.如果结束
.子程序 ClickMine, 逻辑型, , 点击方格,点到雷返回真
.参数 x, 整数型
.参数 y, 整数型
.如果真 (Martix [x] [y].GetStatus () = 0)
 增加分数 (x, y)
 Martix [x] [y].SetStatus (1)
 .如果真 (Martix [x] [y].CheckMine () = 真)
  返回 (真)
 .如果真结束
 返回 (假)
.如果真结束
返回 (假)
.子程序 增加分数
.参数 x, 整数型
.参数 y, 整数型
.局部变量 Point, PointF
Point.x = x
Point.y = y
加入成员 (ScorePos, Point)
Martix [x] [y].SetMineNum (计算雷数 (x, y))
Score = Score + 1
ScoreBtn.标题 (“Score:” + 格式化文本 (“%.3d”, Score))
.子程序 计算雷数, 整数型, , 计算九宫格内的雷数
.参数 x, 整数型
.参数 y, 整数型
.局部变量 Num, 整数型
.如果真 (x ≠ 1)
 .如果真 (Martix [x - 1] [y].CheckMine () = 真) ' 左边
  Num = Num + 1
 .如果真结束
.如果真结束
.如果真 (x < 10)
 .如果真 (Martix [x + 1] [y].CheckMine () = 真) ' 右边
  Num = Num + 1
 .如果真结束
.如果真结束
.如果真 (y ≠ 1)
 .如果真 (Martix [x] [y - 1].CheckMine () = 真) ' 上边
  Num = Num + 1
 .如果真结束
.如果真结束
.如果真 (y < 10)
 .如果真 (Martix [x] [y + 1].CheckMine () = 真) ' 下边
  Num = Num + 1
 .如果真结束
.如果真结束
.如果真 (x ≠ 1 且 y ≠ 1)
 .如果真 (Martix [x - 1] [y - 1].CheckMine () = 真) ' 左上角
  Num = Num + 1
 .如果真结束
.如果真结束
.如果真 (x < 10 且 y < 10)
 .如果真 (Martix [x + 1] [y + 1].CheckMine () = 真) ' 右下角
  Num = Num + 1
 .如果真结束
.如果真结束
.如果真 (x ≠ 1 且 y < 10)
 .如果真 (Martix [x - 1] [y + 1].CheckMine () = 真) ' 左下角
  Num = Num + 1
 .如果真结束
.如果真结束
.如果真 (x < 10 且 y ≠ 1)
 .如果真 (Martix [x + 1] [y - 1].CheckMine () = 真) ' 右上角
  Num = Num + 1
 .如果真结束
.如果真结束
返回 (Num)
.子程序 自动区域
.参数 x, 整数型
.参数 y, 整数型
.如果真 (计算雷数 (x, y) = 0)
 .如果真 (x ≠ 1)
  ClickMine (x - 1, y)
 .如果真结束
 .如果真 (x < 10)
  ClickMine (x + 1, y)
 .如果真结束
 .如果真 (y ≠ 1)
  ClickMine (x, y - 1)
 .如果真结束
 .如果真 (y < 10)
  ClickMine (x, y + 1)
 .如果真结束
 .如果真 (x ≠ 1 且 y ≠ 1)
  ClickMine (x - 1, y - 1)
 .如果真结束
 .如果真 (x < 10 且 y < 10)
  ClickMine (x + 1, y + 1)
 .如果真结束
 .如果真 (x ≠ 1 且 y < 10)
  ClickMine (x - 1, y + 1)
 .如果真结束
 .如果真 (x < 10 且 y ≠ 1)
  ClickMine (x + 1, y - 1)
 .如果真结束
 ClickMine (x, y)
.如果真结束
.子程序 _时钟1_周期事件
Time = Time + 1
TimeBtn.标题 (格式化文本 (“Time:%.3d”, Time))

运行结果:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • 易语言的加法小游戏制作教学

    用易语言制作1~100的加法算数游戏,还可以记录您的分数,下次打开后仍然可以看到您的分数. 1.新建一个Windows窗口程序(如果您已经了解易语言可以不看这里). 2.选择窗口高度和宽度. 3.新建一个按钮,三个编辑框,三个标签 如图: 编辑框2和编辑框1一样. 标签2和标签1一样. 4. 代码:------------------------------.版本 2.程序集 窗口程序集_启动窗口.程序集变量 加数1, 整数型.程序集变量 加数2, 整数型.程序集变量 得数, 整数型.子程序 _

  • 易语言用画板制作围猫游戏的源码

    DLL命令表 .版本 2 .DLL命令 系统关于对话框, , , "ShellAboutA" .参数 窗口句柄, 整数型 .参数 应用程序标题, 文本型 .参数 其他信息, 文本型 .参数 图标句柄, 整数型 图片资源表 .版本 2 .图片 圆点白色 .图片 圆点猫 .图片 圆点墙 .图片 圆点叉 围猫游戏 .版本 2 .程序集 窗口程序集_启动窗口 .程序集变量 圆点状态, 整数型, , "121", 0空白1围墙2陷阱 .程序集变量 猫位置, 整数型 .程序集变

  • 易语言坦克大战游戏制作

    易语言是一款可视全中文的编程语言,既然是一款编程语言,那么肯定可以编写游戏,每一种编程语言在学习编程游戏中一般都会编写一种游戏,叫坦克大战,那么最基础的用键代码移动那个坦克,那么该如何编写呢?下面我为大家讲解! 1.打开易语言,新建windows窗口程序. 2.将按钮1放在启动窗口内. 3.随便弄一张图设置成按钮的背景图片 4.在按钮1的属性下面事件中选择被某键按下 5.在按钮1的属性下面事件中选择被某键按下 开始编写,写入代码如下 .版本 2 .程序集 窗口程序集_启动窗口 .子程序 _按钮1

  • 易语言使用动画框做消除游戏的代码

    全局变量表 .版本 2 .全局变量 得分总和, 整数型 .全局变量 最高得分, 整数型 .全局变量 关卡, 整数型 利用动画框做的一个消除游戏 .版本 2 .支持库 iext2 .支持库 iext .程序集 窗口程序集1 .程序集变量 标识1, 整数型, , "100" .程序集变量 角度, 整数型 .程序集变量 是否开始, 逻辑型 .子程序 初始化 .局部变量 a, 整数型 .局部变量 b, 整数型 .局部变量 C, 整数型 .局部变量 d, 整数型 置随机数种子 () d = 1

  • 易语言制作王校长吃热狗游戏的源码

    王校长吃热狗游戏 .版本 2 .支持库 iext2 .支持库 OPenGL .支持库 spec .支持库 EThread .程序集 窗口程序集_启动窗口 .程序集变量 人物标识, 整数型 .程序集变量 热狗标识, 整数型, , "0" .程序集变量 死亡, 逻辑型 .程序集变量 得分, 整数型 .子程序 _开始按钮_被单击 动画物体2.图片 = #人物 人物标识 = 动画框1.创建物体 (动画物体2, 取鼠标水平位置 () - _启动窗口.左边 - 25, 取鼠标垂直位置 () - _

  • 易语言制作欢乐斗牛单机版游戏源码

    DLL命令表 .版本 2 .DLL命令 复制内存_复制位图信息头到字节集, , , "RtlMoveMemory" .参数 Dest, 字节型, 传址 .参数 Src, BITMAPINFOHEADER .参数 len, 整数型 .DLL命令 复制内存_复制位图文件头到字节集, , , "RtlMoveMemory" .参数 Dest, 字节型, 传址 .参数 Src, 文件头信息_ .参数 len, 整数型 .DLL命令 复制内存_字节集到字节集, , , &qu

  • 易语言制作游戏的步骤方法

    下面就是小编带给大家的语言游戏教程方法操作,希望能够给你们带来一定的帮助,谢谢大家的观看. 1.图片,将视频,建议用会声会影.会声会影能够轻易地制作出非常有特效的视频,而AE则过于专业.软件自带许多模板. 2.用会声会影×5是非常受欢迎的视频编辑软件,插上你的视频(可以剪切,套用现成的片头片尾模板,功能很强大绝对能满足你的要求目前主流的有两款软件,简单易用功能强大. 3.既可以保留原来视频的声音.动画编辑合并制作电影或电子相册的好帮手哎,也可配上你的画外音(录音)或音乐.音频.图片,更多的用来制

  • 易语言Ex_DirectUI自绘扫雷游戏源码

    MineMartix .版本 2 .支持库 spec .程序集 MineMartix, Ex_控件基类, , ExDUI扩展组件_扫雷按钮 .程序集变量 m_颜色, 整数型 .程序集变量 m_透明度, 整数型 .程序集变量 m_Rect, RectF .程序集变量 m_hIcon, 整数型, , , 图像句柄 .程序集变量 m_单击回调指针, 整数型 .程序集变量 m_Mine, 逻辑型 .程序集变量 m_Pos, PointF .程序集变量 m_Num, 整数型, , , 周围雷数量 .程序集

  • 易语言地下城与勇士辅助剧情类源码

    DNF辅助剧情类源码 仅供学习参考,禁止商业用途 .版本 2 .支持库 EThread .程序集 剧情 .子程序 跳过call .局部变量 任务地址, 整数型 .局部变量 跳过CALL, 整数型 任务地址 = #任务基址 跳过CALL = #跳过CALL 置入代码 ({ 139, 77, 252, 139, 9, 106, 255, 106, 1, 255, 85, 248 }) .子程序 匹配副本 .局部变量 角色等级, 整数型 角色等级 = 汇编_读整数型 (#角色等级) .判断开始 (角色

  • 易语言HOSTS式反钓鱼拦截源码

    HOSTS式钓鱼拦截源码 利用HOSTS来拦截SMTP,再次提醒搭建小心钓鱼软件,对于未知的程序尽量在虚拟机里使用 .版本 2 .支持库 shell .程序集 窗口程序集1 .程序集变量 IP, 文本型 .程序集变量 host路径, 文本型 .程序集变量 原hosts是否存在, 逻辑型 .程序集变量 客户, 文本型 .程序集变量 是否为账号, 逻辑型 .程序集变量 是否为密码, 逻辑型 .程序集变量 账号, 文本型 .程序集变量 密码, 文本型 .子程序 列表框_加入提示 .参数 提示, 文本型

  • 易语言制作英雄联盟辅助的源码

    LOL辅助 此功能需要加载超级模块7.3 .版本 2 .程序集 窗口程序集_启动窗口 .程序集变量 pid, 整数型 .子程序 __启动窗口_创建完毕 pid = 取进程ID ("League of Legends.exe") 监视热键 (&开启无限视距, #F5键) 监视热键 (&关闭无限视距, #F6键) 监视热键 (&开启普攻范围, #F2键) 监视热键 (&关闭普攻范围, #F1键) 监视热键 (&开启炮塔范围, #F4键) 监视热键 (

  • C语言实现简易的扫雷游戏

    本文实例为大家分享了C语言实现简易的扫雷游戏的具体代码,供大家参考,具体内容如下 在正式讲内容之前先说一说扫雷游戏的规则 游戏规则很简单,点击方格,如果是地雷,游戏失败,找到所有地雷游戏胜利 .刚开始需要碰运气,只要点开一个区域,就可以正式开始了. 3.根据现有情况,判断出一定有雷的位置. 4.进一步计算,因为"2"右边的"1"已经有从属的雷了,所以右边的"2"的正下方没有雷,因此可以判断出左边有两颗雷,满足两个"2". 5.

  • C语言实现递归版扫雷游戏实例

    目录 思路 清晰的逻辑 菜单 棋盘 布置雷 排雷 判断输赢 text.c实现 game.c实现 game.h实现 递归部分详解 总结 思路 清晰的逻辑 为方便将其分为三个文件:text.c(测试) game.c(函数实现) game.h(头文件声明) 在排雷的时候为了方便,我们需要将每一行每一列对应的行数,列数打印出来. #define LEI 10 #define ROW 10 #define LOW 10 #define ROWS ROW+2 #define LOWS LOW+2 //在定义

  • C语言递归应用实现扫雷游戏

    本文实例为大家分享了C语言递归应用实现扫雷游戏的具体代码,供大家参考,具体内容如下 游戏设计规则: 菜单 两个棋盘,Mine一个布置雷,Show一个给玩家看,玩家选择show里的坐标翻开雷阵,在mine里的相同坐标如果是雷则玩家失败游戏结束,若不是雷则判断此坐标周围8个坐标是否有雷,有雷则显示周围总雷数,没有就显示为空格.为了避免判断雷阵最外边一圈坐标时出现溢出,因此设置雷阵数组时行(列)比打印出的要多两行(列),布置雷时也不在最外面一圈布雷. 第一步如果踩雷则将mine中所选坐标位置换为安全,

  • C语言数组应用实现扫雷游戏

    本文实例为大家分享了C语言数组应用实现扫雷游戏的具体代码,供大家参考,具体内容如下 扫雷游戏(10×10的面板): 1.定义两个12×12的字符型数组:2.show_board[][]:初始化全为*mine_board[][]:随机赋值字符’0’或’1’3.统计雷的个数:周围8个位置的值累加-8×’0’ 代码: game.h #ifndef _GAME_H_ #define _GAME_H_ #include <stdio.h> #include <string.h> #inclu

  • java实战之飞机大战小游戏(源码加注释)

    一.工程文件 二.Main.java 主函数,实现类 package ui; //主函数实现 public class Main { public static void main(String[] args) { //创建窗体 GameFrame frame = new GameFrame(); //创建面板 GamePanel panel = new GamePanel(frame); //调用开始游戏的方法启动游戏 panel.action(); //将面板加入到窗体中 frame.add

随机推荐