如何使用C语言实现简易扫雷游戏
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,这篇文章主要介绍了如何使用C语言实现简易扫雷游戏,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、头文件#define _CRT_SE
千家信息网最后更新 2025年02月04日如何使用C语言实现简易扫雷游戏
这篇文章主要介绍了如何使用C语言实现简易扫雷游戏,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
1、头文件
#define _CRT_SECURE_NO_WARNINGS//包含头文件#include#include //定义数值#define ROW 9#define COL 9#define ROWS ROW+2#define COLS COL+2//定义雷的数量#define mine_num 10//函数定义//初始化void init_board(char board[ROWS][COLS], int row, int col, char set);//打印棋盘void print_board(char board[ROWS][COLS], int row, int col);//布雷void set_mine(char mine[ROWS][COLS], int row, int col);//扫雷void find_mine(char mine[ROWS][COLS], char board[ROWS][COLS], int row, int col);
2、游戏实现函数
#include "game.h"//初始化void init_board(char board[ROWS][COLS], int row, int col, char set) { int x = 0; int y = 0; for (x = 0; x < row; x++) { for (y = 0; y < col; y++) { board[x][y] = set; } }}//打印棋盘void print_board(char board[ROWS][COLS], int row, int col) { int x = 0; int y = 0; for (x = 0; x <= row; x++) { printf("%d ", x); } printf("\n"); for (x = 1; x <= row; x++) { printf("%d ", x); for (y = 1; y <= col; y++) { printf("%c ", board[x][y]); } printf("\n"); }}//布雷void set_mine(char mine[ROWS][COLS], int row, int col) { int count = mine_num; while (count) { int x = rand() % row + 1; int y = rand() % col + 1; if (mine[x][y] == '0') { mine[x][y] = '1'; count--; } }}//计算周围雷的数量int get_mine(char mine[ROWS][COLS], int x, int y) { return mine[x - 1][y - 1] + mine[x - 1][y] + mine[x - 1][y + 1] + mine[x][y - 1] + mine[x][y + 1] + mine[x + 1][y - 1] + mine[x + 1][y] + mine[x + 1][y + 1] - 8 * '0';}//扫雷void find_mine(char mine[ROWS][COLS], char board[ROWS][COLS], int row, int col) { //获取坐标 int x = 0; int y = 0; int count = row * col - mine_num; while (count) { printf("请输入要排查的坐标>:\n"); scanf("%d%d", &x, &y); //判断坐标的合法性 if (x >= 1 && y >= 1 && x <= row && y <= col) { if (mine[x][y] == '1') { printf("是雷!!!炸死了\n"); print_board(mine, ROW, COL); break; } else { int num = get_mine(mine, x, y); board[x][y] = num + '0'; count--; print_board(board, ROW, COL); } } else { printf("你输入的坐标不合法,请重新输入\n"); } } if (count == 0) { printf("恭喜你排雷成功!!!\n"); }}
3、主程序
#include "game.h"//打印游戏菜单void menu() { printf("**************************\n"); printf("********* 扫 雷 ********\n"); printf("********* 1. play ********\n"); printf("********* 0. exit ********\n"); printf("**************************\n");}//游戏实现void game() { //创建数组存储雷和游戏棋盘 char mine[ROWS][COLS] = { 0 }; char board[ROWS][COLS] = { 0 }; //初始化布雷 init_board(mine, ROWS, COLS, '0'); //初始化游戏棋盘 init_board(board, ROWS, COLS, '*'); //打印布雷棋盘 //printf("------布雷棋盘------\n"); //print_board(mine, ROW, COL); //打印扫雷棋盘 printf("------扫雷棋盘------\n"); print_board(board, ROW, COL); //布雷 set_mine(mine, ROW, COL); printf("------布雷棋盘------\n"); //print_board(mine, ROW, COL); //扫雷 find_mine(mine, board, ROW, COL);}int main(void) { int num = 0; srand((unsigned int)time(NULL)); do { menu(); printf("请选择菜单!>:"); scanf("%d", &num); switch (num) { case 1: game(); break; case 0: printf("退出游戏\n"); break; default: printf("你的选择有误,请重新选择\n"); break; } } while (num); system("pause"); return 0;}
感谢你能够认真阅读完这篇文章,希望小编分享的"如何使用C语言实现简易扫雷游戏"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
棋盘
扫雷
布雷
篇文章
选择
简易
语言
函数
坐标
文件
菜单
输入
合法
成功
主程序
价值
兴趣
合法性
同时
数值
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器传输数据的理由
金融行业投资软件开发
巨量引擎网络技术 双桥
web数据库访问技术的特点
软件开发中的业务代表什么
移动网络技术基础是什么
上海万户网络安全教育
阿里云8核64g服务器年租
网络药理学tcmsp数据库
东丽区电子网络技术答疑解惑
杨浦区参考网络技术咨询市价
平湖crm数据库管理
上海新炬网络技术有限公司郭
能查找文献的英文数据库有哪些
数据库必填字段默认值
宝山区手机软件开发
访问服务器网址拒绝连接
无法创建kis服务器
珠海酒店软件开发订制
网络安全手抄报上应该写什么
优倍快网络技术苏州
网络安全主要的风险有
mysql远程导出数据库
思科零信任网络安全架构
广东汕尾云服务 服务器
注册亚马孙服务器
面条人显示没有连接服务器
浙江高中信息技术网络技术
黑龙江数据库安全箱出厂价格
网络安全密钥 win10