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

青岛做网站seo如何提高百度搜索排名

青岛做网站seo,如何提高百度搜索排名,做家教网站怎么样,电子商务平台网站模板文章目录 前言一、前期准备二、游戏整体结构及思路1、程序主体结构#xff1a;2、代码解读3、完整源代码 总结 前言 相信大家小时候都玩过井字棋小游戏#xff0c;拿石子在地上画或是用笔在纸上画今天我们用C语言来简易的实现以下这个儿时的小游戏 在本次小游戏实现#xf… 文章目录 前言一、前期准备二、游戏整体结构及思路1、程序主体结构2、代码解读3、完整源代码 总结 前言 相信大家小时候都玩过井字棋小游戏拿石子在地上画或是用笔在纸上画······今天我们用C语言来简易的实现以下这个儿时的小游戏 在本次小游戏实现将运用到的主要内容有数组、函数、循环等。 一、前期准备 game.h头文件包含库函数、函数声明、存储常量信息 game.c文件完成实现游戏各个功能的函数 test.c文件完成实现函数主体逻辑 二、游戏整体结构及思路 1、程序主体结构 打印菜单 供用户选择1为开始游戏0则退出 选择1后打印出被初始化的棋盘紧接着玩家输入坐标即为下棋成功 玩家输入坐标后机器人通过随机数在数组中找到空位并下如棋子在双方都完成下棋后打印第一轮棋盘 当某一方对角线或者行列连起来三个即为获胜获胜后打印出获胜方并打印出棋盘紧接着下一局可以选择1继续游戏也可以选择0退出 还有一种情况就是棋盘全部下满了即为平局 2、代码解读 打印棋盘并初始化 由图可知打印棋盘需要分为两个部分一是打印数组存储棋子的部分即为数组初始化的部分、二是打印分隔行的部分 void init_board(char board[ROW][COL], int row, int col) {int i 0, j 0;for (i 0; i row; i){for (j 0; j col; j){board[i][j] ;}} }void display_board(char board[ROW][COL], int row, int col) {int i 0,j 0;for (i 0; i row; i){// 数据// ---|---|---//printf( %c | %c | %c \n, board[i][0],board[i][1]);for ( j 0; j col; j){printf( %c , board[i][j]);if (j col - 1)printf(|);}printf(\n);if (i row - 1){//printf(---|---|---\n);for ( j 0; j col; j){printf(---);if (jcol-1)printf(|);}printf(\n);}} }接着就是双方下棋的实现了 在玩家或者电脑下棋的时候要先判断该位置是否被占用如果没有被占用则成功下完。但是在电脑下棋时需要用到伪随机数的生成使用rand函数当然rand函数不会自己生成我们需要通过srand函数设置起点与库函数time配合使用 srand((unsigned int)time(NULL));//生成随机数起点void player_move(char board[ROW][COL], int row, int col) {int x 0, y 0;printf(玩家下棋\n);while (1){printf(请输入坐标);scanf(%d %d, x, y);// 判断坐标合法性 - 是否越界// 坐标是否被占用if (x 1 x row y 1 y col){// 玩家输入坐标之后 对应数组里要做-1处理if (board[x-1][y-1] ){board[x - 1][y - 1] *;break;}else{printf(该坐标被占用请重新输入\n);}}else{printf(坐标输入有误请重新输入\n);}} }// 电脑随机下棋 - 找空着的位置下 // void computer_move(char board[ROW][COL], int row, int col) {printf(电脑下棋\n);while (1){int x rand() % row;int y rand() % col;if (board[x][y] ){board[x][y] #;break;}} }接着就是判断输or赢or平局了 判断有四种可能 1、玩家获胜返回* 2、电脑获胜返回# 3、平局返回Q 4、继续游戏C。 // 如果棋盘满了 返回1 - 不满则返回0 static int is_full(char board[ROW][COL], int row, int col) {int i 0, j 0;for ( i 0; i row; i){for ( j 0; j col; j){if ( board[i][j]){return 0;}}}return 1; } char is_win(char board[ROW][COL], int row, int col) {int i 0;for ( i 0; i row; i){if (board[i][0] board[i][1] board[i][1] board[i][2] board[i][0] ! ){return board[i][0];}}for ( i 0; i col; i){if (board[0][i] board[1][i] board[1][i] board[2][i] board[0][i] ! ){return board[0][i];}}if (board[0][0] board[1][1] board[1][1] board[2][2] board[1][1] ! ){return board[1][1];}if (board[0][2] board[1][1] board[1][1] board[2][0] board[1][1] ! ){return board[1][1];}// 判断平局if (is_full(board,row,col) 1){return Q;}return C; // 没赢 棋盘没满 则继续 }3、完整源代码 test.c文件 首先设计一个简易的游戏菜单利用switch语句对不同的指令进行不同的操作处理。为了防止误操作输入错误这里需要嵌套一个do-while语句避免bug除此之外还可以让游戏多次运行 #define _CRT_SECURE_NO_WARNINGS 1 #include game.hvoid menu() {printf( -------------------\n);printf(| 1.paly |\n);printf(| 0.exit |\n);printf( -------------------\n); }void game() {char res ;//printf(三子棋游戏\n);// 数据的存储需要一个 3*3 的二维数组char board[ROW][COL] { 0 };// 初始化棋盘init_board(board, ROW, COL);// 打印棋盘display_board(board, ROW, COL);while (1){// 玩游戏 - 玩家下棋player_move(board, ROW, COL);res is_win(board, ROW, COL);display_board(board, ROW, COL);if (res ! C)break;// 电脑下棋computer_move(board, ROW, COL);res is_win(board, ROW, COL);display_board(board, ROW, COL);if (res ! C)break;}if (res *){printf(玩家获胜\n);}else if (res #){printf(电脑获胜\n);}else if (res Q){printf(平局\n);}display_board(board, ROW, COL); }// 玩家获胜 - * // 电脑获胜 - # // 平局了 - Q // 游戏继续 - Cint main() {srand((unsigned)time(NULL));int input 0;do{menu();printf(请选择:);scanf(%d, input);switch (input){case 1:game();break;case 0:printf(退出游戏\n);break;default:printf(选择错误请重新选择~\n);break;}} while (input);return 0; }game.h文件 用来对函数的声明、包含库函数的头文件、定义常量行列以便后期可以自定义棋盘大小 #define _CRT_SECURE_NO_WARNINGS 1 #pragma warning(disable : 6031)#include stdio.h #include stdlib.h #include time.h#define ROW 3 // 定义行为3 #define COL 3 // 定义列为3// 函数的声明// 初始化棋盘 void init_board(char board[ROW][COL], int row, int col);// 打印棋盘 void display_board(char board[ROW][COL],int row,int col);// 玩家下棋 void player_move(char board[ROW][COL], int row, int col);// 电脑下棋 void computer_move(char board[ROW][COL], int row, int col);// 判断游戏状态 char is_win(char board[ROW][COL], int row, int col);game.c文件 实现各个功能函数游戏模块单独的一个文件便于阅读 #define _CRT_SECURE_NO_WARNINGS 1#include game.h// 函数的实现void init_board(char board[ROW][COL], int row, int col) {int i 0, j 0;for (i 0; i row; i){for (j 0; j col; j){board[i][j] ;}} }void display_board(char board[ROW][COL], int row, int col) {int i 0,j 0;for (i 0; i row; i){// 数据// ---|---|---//printf( %c | %c | %c \n, board[i][0],board[i][1]);for ( j 0; j col; j){printf( %c , board[i][j]);if (j col - 1)printf(|);}printf(\n);if (i row - 1){//printf(---|---|---\n);for ( j 0; j col; j){printf(---);if (jcol-1)printf(|);}printf(\n);}} }void player_move(char board[ROW][COL], int row, int col) {int x 0, y 0;printf(玩家下棋\n);while (1){printf(请输入坐标);scanf(%d %d, x, y);// 判断坐标合法性 - 是否越界// 坐标是否被占用if (x 1 x row y 1 y col){// 玩家输入坐标之后 对应数组里要做-1处理if (board[x-1][y-1] ){board[x - 1][y - 1] *;break;}else{printf(该坐标被占用请重新输入\n);}}else{printf(坐标输入有误请重新输入\n);}} }// 电脑随机下棋 - 找空着的位置下 // void computer_move(char board[ROW][COL], int row, int col) {printf(电脑下棋\n);while (1){int x rand() % row;int y rand() % col;if (board[x][y] ){board[x][y] #;break;}} }// 如果棋盘满了 返回1 - 不满则返回0 static int is_full(char board[ROW][COL], int row, int col) {int i 0, j 0;for ( i 0; i row; i){for ( j 0; j col; j){if ( board[i][j]){return 0;}}}return 1; } char is_win(char board[ROW][COL], int row, int col) {int i 0;for ( i 0; i row; i){if (board[i][0] board[i][1] board[i][1] board[i][2] board[i][0] ! ){return board[i][0];}}for ( i 0; i col; i){if (board[0][i] board[1][i] board[1][i] board[2][i] board[0][i] ! ){return board[0][i];}}if (board[0][0] board[1][1] board[1][1] board[2][2] board[1][1] ! ){return board[1][1];}if (board[0][2] board[1][1] board[1][1] board[2][0] board[1][1] ! ){return board[1][1];}// 判断平局if (is_full(board,row,col) 1){return Q;}return C; // 没赢 棋盘没满 则继续 }总结 以上就是使用C语言数组的综合应用完成一个简易的三子棋小游戏的实现了 希望该文章对同学们的学习有帮助记得留下你的赞再走哦~。
http://www.tj-hxxt.cn/news/224793.html

相关文章:

  • 网站建设如何商谈深圳自助建站网站
  • 新公司网站怎么做推广网站域名登录不了
  • 方正集团网站是谁做的企业网站策划建设方案百度
  • wordpress开发的网站网站做外链
  • 淘宝客网站根目录建公司网站流程
  • 外贸新品开发网站有做销售产品的网站有哪些内容
  • 高端建设网站建设电商法
  • 图片 网站源码北京福田汽车
  • 网站列表页是啥福州网站建设seo
  • 深圳做网站的网瀑布流 主题 wordpress
  • 作文网投稿网站云主机可以放多少网站
  • seo发布网站营销网络建设四个阶段
  • 简述网站设计的原则看会员视频的网站开发
  • 南昌网站排名优化软件广州网站建设新锐
  • 成都网站设计合理柚v米科技汕头企业网站怎么做
  • 前端网站开发流程做网站的时候怎么设置背景
  • 杭州二建建设有限公司网站广州网站建设公司招聘
  • 全国建设网站图片邢台网站建设费用
  • 深圳鼎诚网站建设福建宁德建设局网站
  • 订餐网站开发流程wordpress的主题包
  • 网站迁移 域名设置企业网络推广最简单方法
  • 湖北建设部网站杭州app开发公司哪家好
  • 高端网站 设计网站数据包如何做架构
  • 工信部网站备案官网wordpress怎么做淘客网站
  • 成都门户网站建设淄博网站建设设计
  • 中国建设银行网站解绑手机网站服务建设公司
  • 湖南省建设工程造价总站网站wordpress编辑权限设置
  • 手机个人简历模板下载网站模板深圳福田区怎么样
  • 中通建设计院第四分公司网站网站建设描述怎么写
  • 网站建设与维护实验心得东莞房价2022最新价格