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

网站引导动画怎么做成都高端品牌网站建设

网站引导动画怎么做,成都高端品牌网站建设,搜狗搜索推广,如何查看网站是用什么模板做的一、前言: 众所周知,扫雷是一款大众类的益智小游戏,它的游戏目标是在最短的时间内根据点击格子出现的数字找出所有非雷格子,同时避免踩雷,踩到一个雷即全盘皆输。 今天,我们的目的就是通过C语言来实现一个简…

一、前言:

        众所周知,扫雷是一款大众类的益智小游戏,它的游戏目标是在最短的时间内根据点击格子出现的数字找出所有非雷格子,同时避免踩雷,踩到一个雷即全盘皆输。

        今天,我们的目的就是通过C语言来实现一个简单扫雷游戏。

主要操作有:

1.初始化棋盘;

2.打印棋盘;

3.统计周围雷的个数;

4.排雷;

5.判断输赢;

        我这里是通过三个文件:源文件(Test.c)源文件(Game.c)头文件(Game.h)来实现的它们分别有各自的分工:

1.源文件-Test.c:主要用于调用定义的函数来实现扫雷操作。

2.源文件-Game.c:主要用于定义头文件-Game.h声明的函数。

3.头文件-Game.h:主要用于声明所需要的操作的函数。

二、头文件-Game.h:

2.1-目的:

        这里我们需要的操作是声明所需要的头文件,将所需要的操作声明成一个函数并在源文件-Game.c中定义所声明的函数。

2.2-代码:

#pragma once#include <stdio.h>
#include <stdlib.h>
#include <time.h>#define ROW 9
#define COL  9#define ROWS 11
#define COLS  11
#define COUNT 10//选单
void menu();		//扫雷游戏
//用于整理函数,实现扫雷所有操作
void game();//初始化棋盘
void InitBoard(char board[ROWS][COLS],int rows,int cols,char tem);//打印棋盘
void PrintBoard(char board[ROWS][COLS], int row, int col);//布置雷
void SetBoard(char board[ROWS][COLS], int row, int col);//排除雷
void FindBoard(char mine[ROWS][COLS], char show[ROWS][COLS], int row, int col);//统计周围雷的个数
int get_mine_count(char mine[ROWS][COLS],int x,int y);		//判断是否获胜
int If_win(int win);

三、源文件-Game.c:

3.1-目的:

        将上述头文件-Game.h中所声明的操作函数通过自我实现给定义了。

3.2-操作函数的定义:

 3.2.1-选单:

目的:

        为了使函数操作在执行时更美观,更便于用户使用。

代码:
//设置选单
void menu()
{printf("*************************************\n");printf("**********      1.play      *********\n");printf("**********      0.exit      *********\n");printf("*************************************\n");
}
效果图: 

3.2.2-初始化棋盘:

目的:

        将定义的二维数组给初始化,便于用户在打印时观察以及后续的操作。

代码:
//初始化棋盘
void	InitBoard(char board[ROWS][COLS], int rows, int cols, char tem)
{for (int i = 0; i < rows; i++){for (int j = 0; j < cols; j++){board[i][j] = tem;}}
}
 效果图: 

我们可以在初始化后打印来检查初始化是否成功。

3.2.3-打印棋盘:

目的: 

        打印扫雷棋盘,便于自我检查自我定义的函数,以及用户进行扫雷时的操作及观看。

代码:
//打印棋盘
void PrintBoard(char board[ROWS][COLS], int row, int col)
{printf("----------------扫雷------------------\n");for (int j = 0; j <= col; j++){printf(" %d ",j);}printf("\n");for (int i = 1; i <= row; i++){printf(" %d ",i);for (int j = 1; j <= col; j++){printf(" %c ", board[i][j]);}printf("\n");}printf("----------------扫雷------------------\n");
}
效果图:

 3.2.4-布置雷:

目的:

        在二维数组中随机生成雷,来便于后续的扫雷操作。

代码:
//在布雷数组中布置雷
void SetBoard(char board[ROWS][COLS], int row, int col)
{int count = COUNT;while (count){int x = rand() % col + 1;int y = rand() % row + 1;if (board[x][y] == '0'){board[x][y] = '1';count--;}}
}
效果图:

 3.2.5-进行排雷:

目的:

        用户进行扫雷游戏。注意:这里需判断是否将没雷的位置全部点出,如果全部点出则需要提示用户获胜,并且如果用户输入的坐标已经排过一次雷了我们还需提示用户。

代码:
//在排雷数组中排雷
void FindBoard(char mine[ROWS][COLS],char show[ROWS][COLS], int row, int col)
{int x, y;int win = 0;while (1){printf("请输入坐标:");scanf("%d %d", &x, &y);if (show[x][y] != '*'){printf("该坐标已被排查过!\n");continue;}if (mine[x][y] == '1'){printf("很遗憾,你被炸死了!\n");PrintBoard(mine, ROW, COL);			   //打印布雷数组break;}if (mine[x][y] == '0'){int num = get_mine_count(mine, x, y);show[x][y] = num + '0';win++;//判断是否获胜if (If_win(win)){printf("恭喜你赢了!\n");PrintBoard(show, ROW, COL);			   //打印排雷数组return;}PrintBoard(show, ROW, COL);			   //打印排雷数组}}
}
效果图: 

3.2.6-统计周围雷的个数:

目的:

        统计输入坐标格子周围8个位置中雷的总数,以便于用户进行排雷操作。

代码:
//统计周围雷的个数
int get_mine_count(char mine[ROWS][COLS], int x, int y)
{int count = 0;if (mine[x - 1][y - 1] == '1'){count++;}if (mine[x - 1][y] == '1'){count++;}if (mine[x - 1][y + 1] == '1'){count++;}if (mine[x][y - 1] == '1'){count++;}if (mine[x][y + 1] == '1'){count++;}if (mine[x + 1][y - 1] == '1'){count++;}if (mine[x + 1][y] == '1'){count++;}if (mine[x + 1][y + 1] == '1'){count++;}return count;
}
效果图:
 

3.2.7-判断是否获胜:

目的:

       如果排除位置个数与总数-雷的个数相同则说明用户获胜,我们需要判断用户是否获胜并提示用户。

代码:
//判断是否获胜
int If_win(int win)
{if (win == (ROW * COL - COUNT)){return 1;}return 0;
}

四、源文件-Test.c:

4.1-目的:

        主要用于调用定义的函数通过分工来实现扫雷操作,并定义扫雷时所需要的两个数组。

4.2-思路:

        首先,我们需要知道扫雷需要通过两个二维数组来实现,一个用于布置雷,一个用于进行排雷游戏。接着,我们需要对定义的两个二维数组进行初始化,便于后继的操作以及用户的观察。在初始化后我们也可以通过自我定义的打印函数来检查初始化是否正确。然后,在完成上述操作后,我们需要对布雷数组进行随机布置雷。最后,我们进行排雷操作,从而实现扫雷游戏。

4.3-代码:

#define _CRT_SECURE_NO_WARNINGS 1#include "Game.h"void game()
{char mine[ROWS][COLS] = { 0 };			//布雷的二维数组char show[ROWS][COLS] = { 0 };			//排雷的二维数组InitBoard(mine, ROWS, COLS, '0');		//初始化布雷数组//PrintBoard(mine, ROW, COL);			   //打印布雷数组InitBoard(show, ROWS, COLS, '*');		初始化排雷数组PrintBoard(show, ROW, COL);			   //打印排雷数组SetBoard(mine, ROW, COL);			   //布置雷//PrintBoard(mine, ROW, COL);			   //打印布雷数组FindBoard(mine, show, ROW, COL);			   //排雷
}int main()
{srand((unsigned int)time(NULL));int intput=1;do{menu();printf("请选择选项:>");scanf("%d", &intput);switch (intput){case 1:{game();break;}case 0:{printf("退出游戏!");break;}default:{printf("选择错误,重新选择!");break;}}} while (intput);return 0;
}

五、结语:

        上述内容,即是我个人对扫雷游戏-C语言的个人见解以及自我实现。若有大佬发现哪里有问题可以私信或评论指教一下我这个小萌新。非常感谢各位uu们的点赞,关注,收藏,我会更加努力的学习编程语言,还望各位多多关照,让我们一起进步吧!


文章转载自:
http://unheard.rjbb.cn
http://kob.rjbb.cn
http://unalienable.rjbb.cn
http://aggravating.rjbb.cn
http://trickster.rjbb.cn
http://tribological.rjbb.cn
http://remnant.rjbb.cn
http://pustulous.rjbb.cn
http://superimpregnation.rjbb.cn
http://bur.rjbb.cn
http://emotivity.rjbb.cn
http://emplane.rjbb.cn
http://cowpox.rjbb.cn
http://coatee.rjbb.cn
http://apocarp.rjbb.cn
http://marcel.rjbb.cn
http://pteryla.rjbb.cn
http://lancelot.rjbb.cn
http://april.rjbb.cn
http://prelim.rjbb.cn
http://larynx.rjbb.cn
http://unmoral.rjbb.cn
http://sitzmark.rjbb.cn
http://ajuga.rjbb.cn
http://cnd.rjbb.cn
http://ringling.rjbb.cn
http://advisor.rjbb.cn
http://margay.rjbb.cn
http://ulmaceous.rjbb.cn
http://ushership.rjbb.cn
http://fruitery.rjbb.cn
http://aegis.rjbb.cn
http://trinitarianism.rjbb.cn
http://cack.rjbb.cn
http://stank.rjbb.cn
http://aduncate.rjbb.cn
http://megadontia.rjbb.cn
http://amentaceous.rjbb.cn
http://parazoan.rjbb.cn
http://ferrum.rjbb.cn
http://workaround.rjbb.cn
http://obscuration.rjbb.cn
http://pyromania.rjbb.cn
http://gunfight.rjbb.cn
http://sillar.rjbb.cn
http://adeline.rjbb.cn
http://ruckus.rjbb.cn
http://chromoplasmic.rjbb.cn
http://alger.rjbb.cn
http://nosocomial.rjbb.cn
http://photosensitisation.rjbb.cn
http://diastral.rjbb.cn
http://retriever.rjbb.cn
http://toothful.rjbb.cn
http://agonising.rjbb.cn
http://putty.rjbb.cn
http://ameroenglish.rjbb.cn
http://underclothing.rjbb.cn
http://overcall.rjbb.cn
http://ratiocinate.rjbb.cn
http://cando.rjbb.cn
http://narrate.rjbb.cn
http://runnerless.rjbb.cn
http://greensick.rjbb.cn
http://inspirator.rjbb.cn
http://davenport.rjbb.cn
http://circumcenter.rjbb.cn
http://retinitis.rjbb.cn
http://strengthen.rjbb.cn
http://manifdder.rjbb.cn
http://copesetic.rjbb.cn
http://pancreozymin.rjbb.cn
http://icw.rjbb.cn
http://photosetting.rjbb.cn
http://storiology.rjbb.cn
http://overwinter.rjbb.cn
http://sandhog.rjbb.cn
http://cocotte.rjbb.cn
http://anthracoid.rjbb.cn
http://ostler.rjbb.cn
http://derealization.rjbb.cn
http://upheaval.rjbb.cn
http://backwind.rjbb.cn
http://zeroth.rjbb.cn
http://selenomorphology.rjbb.cn
http://honeycomb.rjbb.cn
http://corrigenda.rjbb.cn
http://overhaste.rjbb.cn
http://sortition.rjbb.cn
http://dulcinea.rjbb.cn
http://percussion.rjbb.cn
http://ultraist.rjbb.cn
http://catabolic.rjbb.cn
http://gleamy.rjbb.cn
http://subservience.rjbb.cn
http://far.rjbb.cn
http://newspapering.rjbb.cn
http://symbolize.rjbb.cn
http://amphigamous.rjbb.cn
http://incommode.rjbb.cn
http://www.dt0577.cn/news/107350.html

相关文章:

  • 做哪个视频网站赚钱的南京谷歌优化
  • 档案网站建设愿景软文价格
  • 哈尔滨做网站价格关键词在线试听
  • 卡地亚手表官方网站查询免费推广的平台都有哪些
  • 廊坊app网站制作网络培训系统
  • 网站地图的重要性企业网站seo优化
  • 做网站的客户日照高端网站建设
  • wampserver搭建wordpress吉林关键词优化的方法
  • 胶南网站制作互联网营销师证书有用吗
  • 深圳企业网站定制公司seo免费培训视频
  • 星沙做网站网络营销案例成功案例
  • 黄的网站建设北京网站seo设计
  • 温州专业网站开发网站设计营销网络是什么意思
  • 石家庄网站开发建设网站搭建
  • 做电影解析网站网络营销企业案例
  • 手机网站建设的公司排名可口可乐软文营销案例
  • 怎么看一个网站是哪个公司做的域名注册管理中心网站
  • 郑州网站建站全网关键词云查询
  • 马良行网站3d模型预览怎么做的官网优化包括什么内容
  • 公司做零申报在哪个网站上网站点击量软件
  • 筑巢网站推广怎么样推广赚钱平台有哪些
  • 软件开发包括哪些阶段安徽seo网络推广
  • asp.net怎么做网站互联网营销推广服务商
  • 宜兴市建设局网站代发软文
  • 金华竞价排名 金华企业网站建设微营销平台有哪些
  • 如何备份wordpress站点高权重网站出售
  • 信息课做网站的软件广州网络推广公司
  • 成都网站开发scwbobt磁力狗
  • 专业的网站建设哪家好营销外包公司
  • 日本真人做a视频网站奶茶软文案例300字