栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++ 乐趣小游戏:扫雷

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++ 乐趣小游戏:扫雷

代码展示

#include 
using namespace std;

bool f[10][10],vis[10][10];
char c;
int nx[10][10],bo,a;

void re(int x,int y){
	nx[x-1][y-1]++;
	nx[x-1][y+1]++;
	nx[x-1][y]++;
	nx[x][y-1]++;
	nx[x][y+1]++;
	nx[x+1][y-1]++;
	nx[x+1][y]++;
	nx[x+1][y+1]++;
}

void clear(){
	memset(f,0,sizeof(f));
	memset(vis,0,sizeof(vis));
	memset(nx,0,sizeof(nx));
}

void loy(){
	bo=0;
	for(int i=1;i<=a;i++){
		for(int j=1;j<=a;j++){
			int k=rand()%2;
			f[i][j]=k;
			if(k==1) re(i,j),bo++;
		}
	}
	bo=a*a-bo;
	if(bo=(a-2)*a&&a>4) loy();
}

void write(){
	printf("当前还剩余数目:%dn",bo);
	printf("  ");
	for(int i=1;i<=a;i++) printf("%d ",i);
	printf("n");
	for(int i=1;i<=a;i++){
		printf("%d",i);
		for(int j=1;j<=a;j++){
			if(vis[i][j]) printf("%d ",nx[i][j]);
			else printf("%c ",char(1));
		}
		printf("n");
	}
	printf("n");
}

void write1(){
	for(int i=1;i<=a;i++){
		for(int j=1;j<=a;j++){
			printf("%d ",f[i][j]);
		}
		printf("n");
	}
	printf("n");
}

void lose(){
	system("cls");
	printf("nnttYou lose");
	_sleep(3*1000);
	return;
}

void win(){
	system("cls");
	printf("nnttYou win!");
	_sleep(3*1000);
	return;
}

void play(){
	loy();
	while(1){
		system("cls");
		write();
		write1();   //<-作弊神器
		int x,y;
		cin>>x>>y;
		if(vis[x][y]){
			printf("该方块已被点击,请换一个试试。");
			continue;
		}
		if(f[x][y]){
			lose();
			return;
		}
		vis[x][y]=1;
		bo--;
		if(!bo){
			win();
			return;
		}
	}
}

int main(){
	printf("请输入矩阵的边长(正方形)。");
	cin>>a;
	while(a>9){
		printf("请输入一个比十小的数。");
		cin>>a;
	}
	play();
	system("cls");
	printf("如果还想继续,请输入y。");
	cin>>c;
	while(c=='y'){
		clear();
		printf("请输入矩阵的边长(正方形)。");
		cin>>a;
		while(a>9){
			printf("请输入一个比十小的数。");
			cin>>a;
		}
		play();
		cin>>c;
	}
    return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/456901.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号