当前位置: 首页 > news >正文

领域网站建设大学生毕业设计网页设计

领域网站建设,大学生毕业设计网页设计,电子工程网络课程,wordpress king云边有个稻草人-CSDN博客 在学完C语言函数之后,我们就有能力去实现简易版扫雷游戏了(成就感满满),下面是扫雷游戏的源码,快试一试效果如何吧! 在test.c里面进行扫雷游戏的测试,game.h和game.c…

云边有个稻草人-CSDN博客

在学完C语言函数之后,我们就有能力去实现简易版扫雷游戏了(成就感满满),下面是扫雷游戏的源码,快试一试效果如何吧!

在test.c里面进行扫雷游戏的测试,game.h和game.c里实现扫雷游戏的实现,后续我会出扫雷游戏代码的详细思路和解析

目录

效果图

game.h

game.c

test.c


效果图

(哇趣,一下子就踩到雷了,幸运到爆!)

game.h

#pragma once
#include<stdio.h>
#include<stdlib.h>
#include<time.h>#define ROW 9
#define COL 9#define ROWS ROW+2
#define COLS COL+2#define EASY_COUNT 10//初始化棋盘
void InitBoard(char mine[ROWS][COLS], int rows, int cols,char set);//打印棋盘
void DisplayBoard(char show[ROWS][COLS], int row, int col);//布置雷
void SetMine(char mine[ROWS][COLS], int row, int col);//排查雷
void FindMine(char mine[ROWS][COLS], char show[ROWS][COLS], int row, int col);

game.c

#define _CRT_SECURE_NO_WARNINGS 1
#include "game.h"//初始化棋盘
void InitBoard(char board[ROWS][COLS], int rows, int cols, char set)
{for (int i = 0; i < rows; i++){for (int j = 0; j < cols; j++){board[i][j] = set;}}
}//打印棋盘
void DisplayBoard(char show[ROWS][COLS], int row, int col)
{printf("--------扫雷--------\n");//打印显示列int i = 0;for ( i = 0; i <= row; i++){printf("%d ", i);}printf("\n");for (i = 1; i <= row; i++){int j = 0;printf("%d ", i);for (j = 1; j <= col; j++){printf("%c ", show[i][j]);}printf("\n");}}//布置雷
void SetMine(char mine[ROWS][COLS], int row, int col)
{//产生随机的一个坐标int x = 0;int y = 0;int count = EASY_COUNT;while (count){x = rand() % row + 1;y = rand() % col + 1;if (mine[x][y] != '1'){mine[x][y] = '1';count--;}}
}//方法一
//int GetMineCount(char mine[ROWS][COLS], int x, int y)
//{
//	return mine[x - 1][y] +
//	mine[x + 1][y] + 
//	mine[x - 1][y - 1] +
//	mine[x][y - 1] + 
//	mine[x + 1][y - 1] + 
//	mine[x - 1][y + 1] + 
//	mine[x][y + 1] + 
//	mine[x + 1][y + 1] - 8 * '0';
//}//方法二
int GetMineCount(char mine[ROWS][COLS], int x, int y)
{int i = 0;int count = 0;for (i = -1; i <= 1; i++){int j = 0;for (j = -1; j <= 1; j++){count += mine[x + i][y + j] - '0';}}return count;
}//排查雷
void FindMine(char mine[ROWS][COLS], char show[ROWS][COLS], int row, int col)
{int x = 0;int y = 0;int win = 0;while (win<row*col-EASY_COUNT){printf("请输入要排查的坐标:");scanf("%d %d", &x, &y);//要正确地输入坐标if (x >= 1 && x <= row && y >= 1 && y <= col){//输入的坐标是雷if (mine[x][y] == '1'){printf("踩雷被炸,游戏结束\n");DisplayBoard(mine, ROW, COL);break;}//输入的坐标不是雷else{int count = GetMineCount(mine, x, y);show[x][y] = count + '0';DisplayBoard(show, ROW, COL);win++;}}else{printf("输入错误,请重新输入:");}}if (win == EASY_COUNT){printf("恭喜你,排雷成功!\n");}}

test.c

#define _CRT_SECURE_NO_WARNINGS 1
#include"game.h"//打印菜单
void menu()
{printf("     欢迎来到扫雷游戏    \n");printf("*************************\n");printf("********* 1.play ********\n");printf("********* 0.exit ********\n");printf("*************************\n");
}void game()
{srand((unsigned int)time(NULL));//定义两个字符串数组char mine[ROWS][COLS] = { 0 };//存放雷的信息char show[ROWS][COLS] = { 0 };//存放排查出的雷的信息//初始化棋盘InitBoard(mine, ROWS, COLS, '0');InitBoard(show, ROWS, COLS, '*');//打印棋盘DisplayBoard(show, ROW, COL);//布置雷SetMine(mine, ROW, COL);//排查雷FindMine(mine, show, ROW, COL);}void test()
{int input = 0;do{menu();printf("请选择:");scanf("%d", &input);switch (input){case 1:game();break;case 0:printf("退出游戏\n");default :printf("输入错误,请重新输入:");}} while (input);
}int main()
{test();return 0;
}

期待我后续扫雷游戏的详细介绍吧

我是云边有个稻草人

期待与你的下一次相遇!Bye~

http://www.yayakq.cn/news/120891/

相关文章:

  • 网站开发实用技术第2版文档wordpress 主题排
  • 柴沟堡网站建设世界著名室内设计案例
  • 宁波企业网站制作推荐wordpress 免签约主题
  • 宁波英文网站建设做的网站有广告图片
  • 不能搜的超级恶心的关键词重庆seo博客
  • 做学校网站素材图片素材centos下xampp装载wordpress
  • 个人网站模板设计步骤dede网站安全设置
  • 万网做网站顺序本地服务网站开发
  • 公司网站模板免费版做访问量高的网站
  • 建公司网站要多久wordpress搭二级菜单404
  • 网站设计套用模板网站的建立过程
  • 兰陵住房建设局网站wordpress如何上传到服务器
  • 电子商务网站策划书布局设计有哪些网站可以做全景效果图
  • 网站建设方面书籍免费推广手段
  • 凡科建站怎么收费不同类型网站
  • 旅游营销的网站建设wordpress 前端图片上传
  • asp网站授权码如何做vps上的网站运行太慢
  • 网站开发遇到的难题好的产品设计网站
  • 做城市网站的标语做网站毕设任务书
  • 玉环做网站有哪些网站地址栏
  • 哪个网站做的简历最好小红书怎么推广
  • 南阳做网站seo的seo知识培训
  • 电子商务网站建设文档企业公司有哪些
  • 商城网站建设缺点域名里可以建网站
  • 桐乡 网站建设最全的百度网盘搜索引擎
  • 广州和信建设公司网站做网站卖东西流程
  • 教育平台网站可信网站认证
  • 各网站网络营销产品价格策略南京平面设计师联盟
  • 建站系统破解源码凡科做网站有什么用
  • 二次元网站开发的意义Wordpress 十大