怎么用C++制作扫雷游戏
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容主要讲解"怎么用C++制作扫雷游戏",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么用C++制作扫雷游戏"吧!具体代码如下#ifndef SAOL
千家信息网最后更新 2026年11月03日怎么用C++制作扫雷游戏
本篇内容主要讲解"怎么用C++制作扫雷游戏",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么用C++制作扫雷游戏"吧!
具体代码如下
#ifndef SAOLEI_H#define SAOLEI_Hclass Block{ friend class Saoleigame;public: Block(); bool isShown(); void setnum(int); int getnum(); bool isbomb();protected: int num; bool flag_show; int x; int y;};class Saoleigame{public: Saoleigame(); ~Saoleigame(); void _init_(); void gameStart(); void reflash(); void check(int x, int y); void click(int x, int y); void gameOver();private: Block juzheng[100]; bool flag; int b[10]; unsigned int score;};#endif以上是编写的头文件
#include#include #include #include"Saolei.h"using namespace std;Saoleigame::Saoleigame(){ _init_(); flag = true; score = 0;}Saoleigame::~Saoleigame(){}void Saoleigame::_init_(){ srand(time(NULL)); for( int i = 0; i < 10; i++ ) { b[i] = -1; } for(int i = 0; i < 10; i ++ ) { bool temp_flag = false; do { int temp = (unsigned int)rand()0; for( int j = 0; j < i; j ++) { if(temp == b[i]) { temp_flag = true; } } if(!temp_flag) { b[i] = temp; } }while(temp_flag); } for(int i = 0; i < 10; i++ ) { juzheng[b[i]].setnum(-1); } for( int i = 0; i < 10; i ++ ) { for( int j = 0; j < 10;j++) { juzheng[i*10+j].x = i+1; juzheng[i*10+j].y = j+1; } } for(int m = 0; m < 10; m ++ ) { for( int n = 0; n < 10 ; n++ ) { check(m + 1, n + 1); } }}void Saoleigame::check(int x, int y){ if(juzheng[(x - 1)*10 + (y - 1)].num == -1)return; int trans = (x - 1)*10 + (y - 1); int number = 0; for( int i = -1; i < 2; i ++ ) { for(int j = -1; j < 2; j ++) { if(!(x + i<= 0 && x + i >= 10 || j + y <= 0 && y + j >= 10)) { if(juzheng[(x + i - 1)*10 + (y + j - 1)].num == -1) number ++; } } } juzheng[(x - 1)*10 + (y - 1)].setnum(number);}void Saoleigame::click(int x, int y){ if(juzheng[(x- 1)*10 + (y - 1)].num == 0) { for( int i = -1; i < 2; i ++ ) { for(int j = -1; j < 2; j ++) { if(!((x + i<= 0 || x + i > 10 )|| (j + y <= 0 || y + j > 10)) && !(i == 0&& j ==0) && !juzheng[(x+i- 1)*10 + (y +j- 1)].flag_show){ juzheng[(x+i- 1)*10 + (y +j- 1)].flag_show = true; click(x + i, y + j); } } } } juzheng[(x- 1)*10 + (y - 1)].flag_show = true; return;}void Saoleigame::gameStart(){ do { reflash(); int x, y; cout<<"input the position: "; cin >> x>> y; if(juzheng[(x-1)*10 + (y-1)].isbomb()) { gameOver(); return; } else { click(x , y); } }while(flag);}void Saoleigame::reflash(){ system("cls"); score = 0; cout<<" 扫雷"< 到此,相信大家对"怎么用C++制作扫雷游戏"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
扫雷
C++
制作
内容
学习
实用
更深
代码
兴趣
实用性
实际
操作简单
文件
方法
更多
朋友
网站
频道
查询
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网加科技
广州淘业互联网络科技
科技平台互联网
互联网 科技创业
朗涯互联网科技
深圳齐家互联网科技
丰台科技园 互联网
壕鑫互联网络科技
互联网金融 科技创新
互联网金融监管科技
科技伦理 互联网公司
华中科技有哪些互联网大佬
互联网汽车科技小镇
深圳国际航运科技和互联网
玉溪互联网科技怎么选
广州新华互联网科技学校电竞方面
烟台灵鸽互联网科技有限公司
杭州披云加互联网科技有限公司
亚光科技低轨卫星互联网
每日互联网科技新闻
华服互联网科技怎么样
蓝思科技飞鸽互联网
奇酷互联网络科技
上海致骋互联网科技
重庆威客帮互联网科技
阿大互联网科技有限公司
济南有互联网科技公司吗
伊宁互联网科技做什么的
山东星卡互联网科技有限公司官网
互联网公司高科技产品