怎么用C++制作扫雷游戏
发表于:2024-12-02 作者:千家信息网编辑
千家信息网最后更新 2024年12月02日,本篇内容主要讲解"怎么用C++制作扫雷游戏",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么用C++制作扫雷游戏"吧!具体代码如下#ifndef SAOL
千家信息网最后更新 2024年12月02日怎么用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安全错误
数据库的锁怎样保障安全
微星a75能用服务器内存吗
鄠邑区软件开发公司
聊城软件开发公司排名
计算机网络技术含金量证书
传奇数据库下载
剑灵服务器维护中106
数据库wrt
中国网络安全法实施方案
济宁智慧党建软件开发公司
软件开发者费用
太公奇门排盘软件开发
传奇数据库文本转换
岳阳网络安全活动
高校网络安全小组以谁为组长
3306入侵服务器
pyqt5数据库项目
group数据库中什么意思
服务器管理与配置题库
电信软件开发工程师工资
潍坊ios软件开发公司有哪些
穷时间表软件开发
微星a75能用服务器内存吗
管家婆辉煌Ⅱ数据库软件
广州质量网络技术开发咨询报价
网络安全视频拍摄方案
山东联想服务器代理哪里有
数据库监控软件必要性
网络安全学学科评估
戴尔服务器搜索不到手机热点
服务器自动断网程序