c++简易版扫雷游戏,代码如下:

#include<iostream>
#include<cstdlib>
#include<time.h>
using namespace std;
void menu();
void game();
void initialize_mineboard(char mine[][11], char set);
void print_mineboard(char mine[][11]);
void set_laymine(char lay_mine[][11]);
void set_searchmine(char lay_mine[][11],char search_mine[][11]);
int mine_message(char lay_mine[][11], int i, int j);
int main()
{int input = 0;srand((unsigned int)time(NULL));do{menu();cout << "请选择: ";cin >> input;switch (input){case 1:cout << "开始游戏" << endl;game();break;case 0:cout << "退出游戏" << endl;break;default:cout << "选择错误。请重新选择" << endl;break;}} while (input);return 0;
}
void game()
{char lay_mine[11][11];//存放布雷信息char search_mine[11][11];//存放排查出雷的信息initialize_mineboard(lay_mine,'0');//初始化布雷数组initialize_mineboard(search_mine,'*');//初始化排雷数组print_mineboard(search_mine);//打印初始化棋盘set_laymine(lay_mine);//布雷set_searchmine(lay_mine,search_mine);//排雷
}
void menu()
{cout << "**********************" << endl;cout << "****** 扫雷游戏 ******" << endl;cout << "******* 1.play *******" << endl;cout << "******* 0.exit *******" << endl;cout << "**********************" << endl;
}
void initialize_mineboard(char mine[][11],char set)//初始化存放数组
{int i = 0;int j = 0;for (i = 0;i < 11;i++)for (j = 0;j < 11;j++)mine[i][j] = set;
}
void print_mineboard(char mine[][11])//打印数组
{int i = 0;int j = 0;for (i = 1;i <= 9;i++){for (j = 1;j <=9;j++)cout << "----";cout << endl;for (j = 1;j <=9;j++)cout <<' '<< mine[i][j] << " |";cout << endl;}for (j = 1;j <=9;j++)cout << "----";cout << endl;
}
void set_laymine(char lay_mine[][11])//布雷
{int n = 10;//布置10个雷while (n){int i = rand() % 9 + 1;//随机布雷int j = rand() % 9 + 1;if (lay_mine[i][j] == '0'){lay_mine[i][j] = '1';//雷的标志设为‘1’,没有雷的标志设为‘0’;n--;}}
}
void set_searchmine(char lay_mine[][11],char search_mine[][11])//排雷
{int i = 0;int j = 0;int flag =0;while(flag<71){cout << "请输入要排查的坐标:" << endl;cin >> i >> j;if ((i >= 1 && i <= 9) && (j >= 1 && j <= 9)){if (lay_mine[i][j] == '1'){cout<<"很遗憾,你所输入坐标为雷区,游戏失败!"<<endl;print_mineboard(lay_mine);break;}else{search_mine[i][j] = mine_message(lay_mine, i, j) + '0';flag++;print_mineboard(search_mine);}}elsecout<<"输入坐标不合法,请重新输入"<<endl;}if (flag == 71){cout << "恭喜你,排雷成功!" << endl;print_mineboard(lay_mine);}
}
int mine_message(char lay_mine[][11], int i,int j)//所输入坐标周围雷的个数
{int x = i - 1;int y = j - 1;int count = 0;for (x = i - 1;x <= i + 1;i++)for (x = i - 1;y <= j + 1;j++)if (lay_mine[x][y] == '1')count++;return count;
}

c++简易版扫雷游戏相关推荐

  1. 利用java开发简易版扫雷游戏

    1.简介 学了几周的Java,闲来无事,写个乞丐版的扫雷,加强一下Java基础知识. 2.编写过程 编写这个游戏,一共经历了三个阶段,编写了三个版本的游戏代码. 第一版:完成了扫雷游戏的基本雏形,实现 ...

  2. 【C语言】简易版扫雷游戏(play game)

    目录 扫雷游戏

  3. c语言小游戏 精简_C语言开发简易版扫雷小游戏

    C 语言开发简易版扫雷小游戏 本文给大家分享的是一个使用 C 语言开发的命令行下的简易版扫雷小游戏, 本身没有什么太 多的技术含量, 只不过是笔者的处女作, 所以还是推荐给大家, 希望对大家学习 C ...

  4. 【C语言初阶】——简易版·扫雷(9*9)【运行逻辑思维导图+细节讲解+源码】【初级】

    目录 一.扫雷游戏的运行逻辑 二.代码逻辑讲解+源码 1.打印一个简易的游戏开始菜单 2.创建数组储存数据并初始化数组 代码逻辑讲解 源码 3.布置雷 代码逻辑讲解 源码 4.排雷 代码逻辑 源码 三 ...

  5. Win32简易版扫雷

    社团的一群小孩都默默的写好了扫雷,嘿嘿,我也打算凑个热闹 最近学windows编程,就写一个win32简易版扫雷吧 //不支持右键 感觉写的挺乱的╮(╯▽╰)╭啊,不要在意这些细节 点到雷会退出程序 ...

  6. 网页版扫雷游戏···

    闲的没事 写个扫雷, 算法 不太好·····凑合 <!DOCTYPE html> <html> <head> <metacharset="utf-8 ...

  7. JAVA版扫雷游戏,清晰易懂,注释多

    这是一篇关于JAVA的扫雷游戏,所有的图片均用文字代替,代码可直接运行. 文章目录 开发环境 一.下载方法 二.运行效果展示 三.代码部分 1.代码如下 总结 开发环境 开发工具:eclipse202 ...

  8. 经典版扫雷游戏的实现(含展开)

    扫雷作为经典的电脑游戏,曾令很多人着迷,今天我就用C语言实现这个游戏 扫雷的基本规则 扫雷的详细规则是随便点开一个方格,根据展开方格的数字去推断其相邻九宫格内未展开方格下面是否是地雷,最终任务就是点开 ...

  9. Weex 版扫雷游戏开发

    2019独角兽企业重金招聘Python工程师标准>>> 扫雷是一个喜闻乐见的小游戏,今天在看 Weex 文档的过程中,无意中发现用 Weex 完全可以开发一个扫雷出来.当然这个扫雷和 ...

最新文章

  1. [Linux] ubuntu 格式化u盘
  2. 020.2.2 runtime类
  3. nginx log response_python+pandas分析nginx日志的实例
  4. weblogic oracle连接池配置文件,关于WebLogic 访问Oracle 数据库(建立连接池)问题...
  5. 4001.基于双向链表的双向冒泡排序法
  6. 评测征集 | 2021全国知识图谱与语义计算大会
  7. C++_类和对象_封装_属性和行为做为整体_封装案例---C++语言工作笔记036
  8. 怎样高效地管理自己阅读过的文献资料?
  9. nodejs高速公路收费管理系统vue
  10. 小学-知识与能力【9】
  11. QQ机器人 微信机器人最新可用框架汇总
  12. 中兴oltc320用户手册_中兴OLT常用命令
  13. 物联网概念的蝶变:从M2M到智慧地球
  14. java公交IC乘车卡管理系统
  15. 基于MATLAB的批量3度带高斯正算(LB--xy)
  16. RGB颜色空间转LAB
  17. 与鲨共舞:当AI遇见海洋杀手
  18. Arduino串口控制DY-SV5W音频播放
  19. 信号相角位移量的计算与信号位移计算-附Matlab代码
  20. 迁移学习技巧以及如何更好的finetune 模型经验总结

热门文章

  1. 电脑爱好者必须懂得的电脑简单英语单词
  2. IT男的魔都10年及N次面试 - 如何在500强升职
  3. HTML第十三天作业,做一个QQ注册的简单页面
  4. 计算机看别的用户的回收站,电脑登录账号桌面只剩下浏览器和回收站其他软件没有了怎么办...
  5. Optional判断
  6. tbc怀旧服服务器位置,魔兽世界怀旧服TBC服务器推荐 哪个服务器不用排队
  7. win8应用商店安装路径
  8. VUE关于hevc编码格式的视频在各端浏览器兼容性问题的解决方案
  9. 移动互联网的兴起,为什么把短信验证码捧火了?——SUBMAIL
  10. 夏普s2 android8.0,夏普18:9全面屏曝光:6GB内存/安卓8.0