怎么用C++制作扫雷游戏
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,本篇内容主要讲解"怎么用C++制作扫雷游戏",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么用C++制作扫雷游戏"吧!具体代码如下#ifndef SAOL
千家信息网最后更新 2025年01月21日怎么用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安全错误
数据库的锁怎样保障安全
荣科科技是互联网金融题材股
个人网络安全个人自查报告
学习最先进的网络技术
软件开发好还是服务外包好
阳泉展厅触摸互动软件开发公司
网络安全问题怎么样
软件开发专业专科好就业吗
我的世界网易版惊变100天服务器号
vfp数据库系统全套资料及流程
软件开发与会计专业哪个好
机架式服务器拆卸
各种服务器环境的区别
安装数据库的前提条件是什么
查看正在工作的数据库的命令
大专网络技术就业周记
升级bios显示服务器连接失败
数据库 连接查询
链信云保网络技术有限公司
心理测试软件开发背景
管理企业软件开发
甘肃订做存储服务器机箱上哪找
工厂管理软件开发费用
数据库期末考试会挂科吗
中国移动 软件开发面试
access数据库生成随机数据
阿里云服务器增删改数据
ibatis连接不上数据库
什么是域名服务器程序
第八单元网络技术基础
照片如何按数据库类别分类