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

网站建设基础及流程如何拿到网站后台密码

网站建设基础及流程,如何拿到网站后台密码,手机做点击赚钱的网站,阿里云做的网站程序员目录 1.三子棋代码功能介绍 2.三子棋游戏实现步骤 ①打印菜单栏 ②判断是否进入三子棋游戏 ③三子棋游戏基本函数实现 #xff08;1#xff09;清空#xff08;初始化#xff09;棋盘函数实现 #xff08;2#xff09;打印棋盘函数实现 #xff08;3#xff0…目录 1.三子棋代码功能介绍 2.三子棋游戏实现步骤 ①打印菜单栏 ②判断是否进入三子棋游戏  ③三子棋游戏基本函数实现 1清空初始化棋盘函数实现 2打印棋盘函数实现 3玩家下棋函数实现  4电脑下棋函数实现 5判断输赢函数 6判断平局函数 ④整个游戏算法实现实现逻辑 3.三子棋游戏完整代码实现 ①game.h头文件 ②progress.c源文件 ③game.c源文件 4.结语 1.三子棋代码功能介绍 ①用坐标代替点位来下棋 ②与电脑进行对局 ③输赢的判断 2.三子棋游戏实现步骤 ①打印菜单栏 void menu()//打印三子棋菜单栏 {printf(*************************\n);printf(*******THREECHESS********\n);printf(#####1.PLAY 0.EXIT#####\n);printf(*************************\n);} ②判断是否进入三子棋游戏  通过scanf函数来获取用户输入 再使用switch语句来判断是否进入或退出三子棋游戏 void progress()//判断是否进入游戏 {int input 0;do{menu();printf(请输入:);scanf_s(%d, input);switch (input){case 1://如果用户输入1就进入游戏printf(进入游戏\n);game();//三子棋游戏实现函数printf(\n\n\n);//打印空行使得排版更好看break;case 0:printf(退出游戏\n);break;default://输入不为1或0的情况处理printf(输入错误\n);break;}}while (input);//如果input不为0则一直进入循环判断是否进入三子棋 } 如图所示 ③三子棋游戏基本函数实现 注首先要知道我们用二维字符数组char board[ROW][COL]来抽象实现三子棋 ROW,COL宏定义为3 colrol传给函数的内容也是3; 1清空初始化棋盘函数实现 初始化棋盘实际就是将二维数组的各个元素全都初始化为空格用嵌套for循环来实现 void InitBoard(char board[ROW][COL], int row, int col)//初始化棋盘这里ROW,COL是宏定义值是3 {int i 0;int j 0;for (i 0; i row; i)//用for循环来逐一初始化{for (j 0; j col; j){board[i][j] ;//初始化为空格}} } 2打印棋盘函数实现 类似于初始化棋盘函数打印棋盘函数也使用嵌套的for循环语句 并借用键盘上的字符‘|’和‘-’来分割棋盘形状 void DisPlayBoard(char board[ROW][COL], int row, int col)//打印棋盘ROW,COL宏定义为3col //rol传的内容也是3 {int i 0;int j 0;for (i 0; i row; i){for (j 0; j col; j)//for循环来逐一打印{printf( %c ,board[i][j]);if (j col - 1){printf(|);//打印‘|’来分割每个格子} }if(i row - 1)printf(\n---|---|---\n);//一行打印完用横线分割下一行进行下一行的打印} } 运行结果如下 3玩家下棋函数实现  注玩家下棋用‘*’, 电脑下棋用‘#’ 要用if语句判断玩家输入的坐标是否在3*3棋盘内 还要用if语句判断玩家输入的坐标是否被占用是否已经下过 void PlayerMove(char board[ROW][COL], int row, int col)//玩家下棋 {int x 0;int y 0;printf(\n玩家下棋);//提示玩家下棋while (1)//如果输入坐标不正确就多次输入{printf(\n请输入坐标\n);scanf(%d%d, x, y);if (x 0 x row y 0 y col)//判断坐标是否在3*3棋盘内{if (board[x - 1][y - 1] )//判断该格子是否被占用{board[x - 1][y - 1] *;//没有占用就放字符‘*’作为玩家下过的标志break;//玩家已经下过一次后跳出循环进行下一轮}elseprintf(该坐标已被占用请重新输入.\n);//如果坐标被占用进行提示重新输入}elseprintf(坐标输入非法请重新输入.\n);//如果坐标非法提示重新输入} } 运行结果如下 4电脑下棋函数实现 注使用随机数生成函数rand来获得电脑要下的坐标 获得的随机数除以3取余数就可以获得大于等于0小于3的整数以此来作为电脑下棋的坐标 同时也要判断随机生成的坐标是否合法 如果坐标合法且未被占用就标记‘#’ void ComputerMove(char board[ROW][COL], int row, int col)//电脑下棋 {printf(\n电脑下棋\n);//提示电脑下棋int x 0;int y 0;while (1)//如果坐标非法就重新输入{x rand() % row;//使用随机数生成函数生成随机数并除以3得余数获得0~2的数y rand() % col;{if (board[x][y] )//判断该坐标在棋盘上是否被占用{board[x][y] #;//没被占用就标记‘#’break;} }} } 5判断输赢函数 注判断输赢函数多增加了一个参数tmp来传入玩家和电脑代表的字符一旦一列或一行或从左往右或从右往左的直线有三个相同的字符并且等于tmp的就返回字符tmp通过tmp就可以判断出玩家赢了还是电脑赢了 char IsWin(char board[ROW][COL], int row, int col, char tmp)//判断输赢返回字符 {int i 0;int j 0;int count 0;for (i 0; i ROW; i)//判断一是否有三个字符相同{int count 0;for (j 0; j COL; j){if (board[i][j] ! tmp)//有一个不同就break跳出本次循环break;elsecount;//有一个相同count就1if (count 3)//当count等于3时就代表一行中有三个相同return tmp;//当一行中有三个相同的字符时就代表该字符所对应的赢了返回该字符}}for (j 0; j COL; j)//同理判断一列中是否有三个字符相同{int count 0;for (i 0; i ROW; i){if (board[i][j] ! tmp)break;elsecount;if (count 3)return tmp;}}for (count 0,i 0; i ROW; i)//判断从左往右的直线三个字符是否相同{if (board[i][i] ! tmp)break;elsecount;if (count 3)return tmp; }for (count 0,j COL - 1,i 0; j 0,i ROW; j--,i)//判断从左往右的直线{if (board[i][j] ! tmp)break;elsecount;if (count 3)return tmp;}return 0; }6判断平局函数 注除了判断输赢还要记得判断是否有平局的情况 用嵌套for循环来逐一判断二位数组是否有空格 没有空格代表平局返回字符‘Q’ char IsFull(char board[ROW][COL], int row, int col)//判断平局 {int i 0;int j 0;for (i 0; i row; i){for (j 0; j col; j)//使用for循环逐一判断棋盘是否有空格{if (board[i][j] )return 0;//有空格也就是还没下完返回0}}return Q;//没有空格平局了返回字符‘Q’ }④整个游戏算法实现实现逻辑 void game()//游戏的整个算法实现 {char ret 0;char bian 0;char board[ROW][COL] { 0 };InitBoard(board, ROW, COL);//清空棋盘DisPlayBoard(board, ROW, COL);//打印棋盘while (1){PlayerMove(board, ROW, COL);//玩家下棋DisPlayBoard(board, ROW, COL);//打印棋盘ret IsWin(board, ROW, COL, *);//判断输赢bian IsFull(board, ROW, COL);//判断是否平局if (ret *){printf(\n玩家赢啦~);break;}if (bian Q){printf(\n平局);break;}ComputerMove(board, ROW, COL);//电脑下棋DisPlayBoard(board, ROW, COL);//打印棋盘ret IsWin(board, ROW, COL, #);//判断输赢bian IsFull(board, ROW, COL);//判断是否平局if (ret #){printf(\n太可惜了电脑赢了);break;}if (bian Q){printf(\n平局);break;}} } 运行结果如下 3.三子棋游戏完整代码实现 注有些注释上文标注但在完整代码中未标注 ①game.h头文件 #pragma once #define _CRT_SECURE_NO_WARNINGS #includestdio.h #includestring.h #includestdlib.h #includetime.h constexpr auto ROW 3; constexpr auto COL 3; void InitBoard(char board[ROW][COL], int row, int col);//初始化棋盘函数 void DisPlayBoard(char board[ROW][COL], int row, int col);//打印棋盘函数 void PlayerMove(char board[ROW][COL], int row, int col);//玩家下棋函数 void ComputerMove(char board[ROW][COL], int row, int col);//电脑下棋函数 char IsWin(char board[ROW][COL], int row, int col, char tmp);//判断输赢函数 char IsFull(char board[ROW][COL], int row, int col);//判断平局函数 ②progress.c源文件 #includegame.h void menu()//打印菜单栏 {printf(*************************\n);printf(*******THREECHESS********\n);printf(#####1.PLAY 0.EXIT#####\n);printf(*************************\n);} void game()//游戏的整个算法实现 {char ret 0;char bian 0;char board[ROW][COL] { 0 };InitBoard(board, ROW, COL);//清空棋盘DisPlayBoard(board, ROW, COL);//打印棋盘while (1){PlayerMove(board, ROW, COL);//玩家下棋DisPlayBoard(board, ROW, COL);//打印棋盘ret IsWin(board, ROW, COL, *);//判断输赢bian IsFull(board, ROW, COL);//判断是否平局if (ret *){printf(\n玩家赢啦~);break;}if (bian Q){printf(\n平局);break;}ComputerMove(board, ROW, COL);//电脑下棋DisPlayBoard(board, ROW, COL);//打印棋盘ret IsWin(board, ROW, COL, #);//判断输赢bian IsFull(board, ROW, COL);//判断是否平局if (ret #){printf(\n太可惜了电脑赢了);break;}if (bian Q){printf(\n平局);break;}} }void progress()//判断是否进入游戏 {int input 0;do{menu();printf(请输入:);scanf_s(%d, input);switch (input){case 1:printf(进入游戏\n);game();printf(\n\n\n);break;case 0:printf(退出游戏\n);break;default:printf(输入错误\n);break;}}while (input);}int main() {int row ROW;int col COL;srand((unsigned int)time(NULL));//设置随机数的生成起点progress();return 0;}③game.c源文件 #includegame.h void InitBoard(char board[ROW][COL], int row, int col)//初始化棋盘 {int i 0;int j 0;for (i 0; i row; i){for (j 0; j col; j){board[i][j] ;}} } void DisPlayBoard(char board[ROW][COL], int row, int col)//打印棋盘 {int i 0;int j 0;for (i 0; i row; i){for (j 0; j col; j){printf( %c ,board[i][j]);if (j col - 1){printf(|);} }if(i row - 1)printf(\n---|---|---\n);} }void PlayerMove(char board[ROW][COL], int row, int col)//玩家下棋 {int x 0;int y 0;printf(\n玩家下棋);while (1){printf(\n请输入坐标\n);scanf(%d%d, x, y);if (x 0 x row y 0 y col){if (board[x - 1][y - 1] ){board[x - 1][y - 1] *;break;}elseprintf(该坐标已被占用请重新输入.\n);}elseprintf(坐标输入非法请重新输入.\n);} } void ComputerMove(char board[ROW][COL], int row, int col)//电脑下棋 {printf(\n电脑下棋\n);int x 0;int y 0;while (1){x rand() % row;y rand() % col;{if (board[x][y] ){board[x][y] #;break;} }} }char IsWin(char board[ROW][COL], int row, int col, char tmp)//判断输赢 {int i 0;int j 0;int count 0;for (i 0; i ROW; i){int count 0;for (j 0; j COL; j){if (board[i][j] ! tmp)break;elsecount;if (count 3)return tmp;}}for (j 0; j COL; j){int count 0;for (i 0; i ROW; i){if (board[i][j] ! tmp)break;elsecount;if (count 3)return tmp;}}for (count 0,i 0; i ROW; i){if (board[i][i] ! tmp)break;elsecount;if (count 3)return tmp; }for (count 0,j COL - 1,i 0; j 0,i ROW; j--,i){if (board[i][j] ! tmp)break;elsecount;if (count 3)return tmp;}return 0; }char IsFull(char board[ROW][COL], int row, int col)//判断平局 {int i 0;int j 0;for (i 0; i row; i){for (j 0; j col; j){if (board[i][j] )return 0;}}return Q; } 4.结语 以上就是C语言实现简单三子棋游戏完整代码以及过程实现啦我们也可以通过三子棋的代码思考五子棋游戏的实现以及对于随机数生成来作为电脑下棋的坐标似乎有点愚笨我们或许可以试着写一些让电脑选择坐标更聪明一点的函数让玩家拥有更好的游戏体验哦希望能和大家一起学习进步。
http://www.hkea.cn/news/14534025/

相关文章:

  • 建设银行天津分行网站潍坊网站建设方案
  • 广州建网站哪家最好企业门户网站需求文档
  • 百度关键词优化软件网站网站布局结构图
  • 网站开发相关专业无锡模板网站
  • 网站策划 英文wordpress 协同
  • ipv6改造 网站怎么做网站建设公司能赚钱吗
  • 网站icp备案需要多久做号网站
  • 网站建设结构框架wordpress一键分享插件
  • 网站开发实训心得800字如何在网站后台备份数据库
  • 手机网站需要域名吗做外贸学英语的网站
  • 亚马逊备案网站建设成都市网站建设费用及企业
  • 游戏网站创建wordpress 手机图片主题
  • 官方网站建设需求规格说明书产品做网站
  • 网站备案流程以及所需资料模块网站需要多少钱
  • 简单网站建设课程室内设计师联盟论坛
  • 网站开发接私单湖南移动网站建
  • 电子商务网站服务器宿松做网站
  • 沈阳网站推广¥做下拉去118cr俄罗斯搜索引擎推广
  • 知名高端网站建设公司手机网站建立免费平台
  • 大良营销网站建设教程音乐网站设计模板
  • 学网站建设的工资高吗.net网站开发环境
  • 制作外贸网站模板下载进入这个网站
  • 教育行业展示网站模板大型网站 jquery
  • 网站打模块wordpress 初夏主题
  • 玉山县建设局网站wordpress建设中插件
  • 门户网站的建设成果在网站建设中要注意的问题
  • 网站建设 整改报告网络架构1788
  • 网站内容和备案不一做网站用到什么技术
  • 四川住房建设厅网站增项查询做哪个网站卖一手房比较好
  • 有没有网站文章时间分类wordpress