怎么用C++制作扫雷游戏
发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,本篇内容主要讲解"怎么用C++制作扫雷游戏",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么用C++制作扫雷游戏"吧!具体代码如下#ifndef SAOL
千家信息网最后更新 2025年11月11日怎么用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安全错误
数据库的锁怎样保障安全
税务服务器维护
pubg可以玩多少个服务器
怎么备份会计数据库
网络安全运行管理规定
微信公众号用什么软件开发
企业网络安全科技馆攻略
云南装修网络安全
邯郸学院网络技术专升本
网络安全防范警示教育案例
mysql 文档型数据库
街篮 服务器
怪物猎人p3数据库
什么是软件开发的流程
网络安全考试未公开接口说法
招商手册糖豆网络技术
SCI的网络数据库
方舟手游服务器如何卡移速
软件开发设计前景
如何在数据库查询同一班飞机订单
rust网络安全
安全软件开发涉及的标准
兰州电视台网络安全
培训软件开发大概需要多久
泗阳大型网络技术大概费用
富士通服务器管理口账号密码
阿里云可以装服务器吗
服务器主板关机蓝屏
网络安全风险隐患排查情况
数据库如何匹配两个表格
房山网络安全报价