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

wordpress建站教程交友需要推广的软件

wordpress建站教程交友,需要推广的软件,网络系统的价值跟用户数量成,网站描述设置前言#xff1a; 三子棋是一种民间传统游戏#xff0c;又叫九宫棋、圈圈叉叉棋、一条龙、井字棋等。游戏规则是双方对战#xff0c;双方依次在9宫格棋盘上摆放棋子#xff0c;率先将自己的三个棋子走成一条线就视为胜利。但因棋盘太小#xff0c;三子棋在很多时候会出现和…  前言 三子棋是一种民间传统游戏又叫九宫棋、圈圈叉叉棋、一条龙、井字棋等。游戏规则是双方对战双方依次在9宫格棋盘上摆放棋子率先将自己的三个棋子走成一条线就视为胜利。但因棋盘太小三子棋在很多时候会出现和棋的局面。 设计思路 先开一个test.c文件用来进行游戏的逻辑测试再开一个game.h头文件和game.c文件分别用来进行函数声明和实现游戏的逻辑然后就是打印菜单、生成棋盘、实现玩家下棋、实现电脑下棋、判断游戏的输赢、游戏优化。 1. 打印菜单 test.c void menu() {printf(***************************\n);printf(******** 1.play ********\n);printf(******** 2.exit ********\n);printf(***************************\n); }int main() {int input 0;do{menu();printf(请选择:);scanf(%d, input);switch (input){case 1:game();break;case 0:printf(退出游戏.\n);break;default:printf(输入有误请重新输入.\n);}} while (input);return 0; } 2. 生成棋盘 2.1 初始化棋盘 我们可以用空格将每一个格子初始化。 test.c文件 board[ROW][COL] { 0 }; InitBoard(board, ROW, COL); game.c文件 void InitBoard(char board[ROW][COL], int row, int col) {for (int i 0; i row; i){for (int j 0; j col; j){board[i][j] ;}} } 其中的ROW和COL是两个宏定义。 game.h #define ROW 3 #define COL 32.2 打印棋盘 打印棋盘时我们可以一些符号隔开不同的空格这样就会使我们的棋盘更加美观。比如我们可以使用“|”将同一行的空格分开用“-”将不同行的空格分开这样我们就可以得到一个如下的九宫格了。 game.c文件 void DisplayBoard(char board[ROW][COL], int row, int col) {for (int i 0; i row; i){for (int j 0; j col; j){printf( );if (j col - 1){printf(|);}}printf(\n);if (i row - 1){for (int j 0; j col; j){printf(---);if (j col - 1)printf(|);}printf(\n);}} }3. 实现玩家下棋和电脑下棋 为了游戏的可实行性当玩家或电脑下完一个棋子后我们需要考虑以下两点 1.玩家或电脑所下的坐标是否在棋盘的范围内。 2.玩家或电脑所下的位置是否已经被下过棋子了。 依据上面的两点条件的我们需要分别写一个条件语句判断玩家是否合法下棋。 3.1 玩家下棋 game.c文件 void PlayerMove(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){if (board[x - 1][y - 1] ){board[x - 1][y - 1] *;break;}else{printf(输入的坐标已被占用请重新输入\n);}}else{printf(坐标非法,请重新输入\n);}} } 3.2 电脑下棋 思路  我们可以在让电脑生成随机数这样就可以使其随机生成一个坐标下棋子那么我们就可以简单的实现电脑下棋的效果了。 随机数的生成则可以使用rand函数、srand函数以及time函数。 game.c文件 void ComputerMove(char board[ROW][COL], int row, int col) {printf(电脑下棋:\n);while (1){int x rand() % row;int y rand() % row;if (x row x 1 y row y 1){if (board[x][y] ){board[x][y] #;break;}}} } test.c文件 srand((unsigned int)time(UNLL)) game.h文件 #includetime.h #includestdlib.h 为了实现玩家下一个棋然后电脑下一个棋的功能我们还需加上一个while循环。如下 test.c文件 while(1) {//玩家下棋PlayerMove(board, ROW, COL);DisplayBoard(board, ROW, COL);//电脑下棋ComputerMove(board, ROW, COL);DisplayBoard(board, ROW, COL); } 4. 判断游戏的输赢 思路 此游戏无非只有三种结果要么玩家赢要么电脑赢要么平局。所以我们可以写一个函数判断是这几种结果的哪一种然后规定如果是玩家赢此函数返回“*”如果是电脑赢则返回“#”平局则返回“Q”这几种都不是就说明游戏继续那么就返回“C”. 要判断是否有赢的一方无非就是判断是否出现了三个相同的棋子练成一条直线而棋子连成的线无非就只有三种情况竖线、横线、对角线。所以我们只需要判断是否出现了这三种情况的其中一种就可以了。而要判断是平局则判断九宫格是否还有没有空格。 game.c文件 int ItFull(char board[ROW][COL], int row, int col) {for (int i 0; i row; i){for (int j 0;j col; j){if (board[i][j] ){return 0;}}}return 1; } char ItWin(char board[ROW][COL], int row, int col) {//行for (int i 0; i row; i){if (board[i][0] board[i][1] board[i][1] board[i][2] board[i][2] ! )return board[i][1];}//列for (int j 0; j col; j){if (board[0][j] board[1][j] board[1][j] board[2][j] board[2][j] ! )return board[1][j];}//对角线if (board[0][0] board[1][1] board[1][1] board[2][2] board[2][2] ! 0){return board[1][1];}if (ItFull(board, row, col)){return Q;}return C; } test.c文件 //玩家下棋PlayerMove(board, ROW, COL);DisplayBoard(board, ROW, COL);//判断输赢char ret ItWin(board, ROW, COL);if (ret ! C){if (ret *){printf(玩家赢了!!!\n);}break;}//电脑下棋ComputerMove(board, ROW, COL);DisplayBoard(board, ROW, COL);//判断输赢ItWin(board, ROW, COL);if (ret ! C){if (ret #){printf(电脑赢了!!!\n);}break;} 完整代码 game.h文件 #includestdio.h #includestdlib.h #includetime.h#define ROW 3 #define COL 3void 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 ItWin(char board[ROW][COL], int row, int col); test.c文件 #includegame.hvoid menu() {printf(***************************\n);printf(******** 1.play ********\n);printf(******** 2.exit ********\n);printf(***************************\n); } void game() {//第一步打印棋盘。char board[ROW][COL] { 0 };//初始化棋盘InitBoard(board, ROW, COL);//打印棋盘DisplayBoard(board, ROW, COL);char ret;while(1){//玩家下棋PlayerMove(board, ROW, COL);DisplayBoard(board, ROW, COL);//判断输赢char ret ItWin(board, ROW, COL);if (ret ! C){if (ret *){printf(玩家赢了!!!\n);}break;}//电脑下棋ComputerMove(board, ROW, COL);DisplayBoard(board, ROW, COL);//判断输赢ItWin(board, ROW, COL);if (ret ! C){if (ret #){printf(电脑赢了!!!\n);}break;}} } int main() {srand((unsigned int)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);}} while (input);return 0; } game.c文件 #includegame.hvoid InitBoard(char board[ROW][COL], int row, int col) {for (int i 0; i row; i){for (int j 0; j col; j){board[i][j] ;}} }void DisplayBoard(char board[ROW][COL], int row, int col) {for (int i 0; i row; i){for (int j 0; j col; j){printf( %c ,board[i][j]);if (j col - 1)printf(|);}printf(\n);if (i row - 1){for (int j 0; j col; j){printf(---);if (j col - 1)printf(|);}printf(\n);}} }void PlayerMove(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){if (board[x - 1][y - 1] ){board[x - 1][y - 1] *;break;}else{printf(输入的坐标已被占用请重新输入\n);}}else{printf(坐标非法,请重新输入\n);}} }void ComputerMove(char board[ROW][COL], int row, int col) {printf(电脑下棋:\n);while (1){int x rand() % row;int y rand() % row;if (x row x 1 y row y 1){if (board[x][y] ){board[x][y] #;break;}}} }int ItFull(char board[ROW][COL], int row, int col) {for (int i 0; i row; i){for (int j 0;j col; j){if (board[i][j] ){return 0;}}}return 1; } char ItWin(char board[ROW][COL], int row, int col) {//行for (int i 0; i row; i){if (board[i][0] board[i][1] board[i][1] board[i][2] board[i][2] ! )return board[i][1];}//列for (int j 0; j col; j){if (board[0][j] board[1][j] board[1][j] board[2][j] board[2][j] ! )return board[1][j];}//对角线if (board[0][0] board[1][1] board[1][1] board[2][2] board[2][2] ! 0){return board[1][1];}if (ItFull(board, row, col)){return Q;}return C; } 运行图 游戏优化  让电脑生成一个数的方式来实现一个电脑下棋的效果肯定是没有什么可玩性的等后面学习算法之后我们就加入一些算法将其变为一个棋艺高超的棋手了。 以上就是使用c语言写三子棋的全部内容啦如果上述内容对你有帮助的话不要忘记点上一个小小的赞和关注呦期待我们下次再见。
http://www.zqtcl.cn/news/456603/

相关文章:

  • 个人签名设计网站企业网站html模板
  • 做网站编辑大专可以吗小网站搜什么关键词好
  • 百度网首页登录入口宁波seo管理
  • 怎么把网站做的更好常州网站制作建设
  • 站长平台seo深圳有做公司网站
  • dedecms怎么部署网站云南网站定制
  • 禅城网站开发我赢网seo优化网站
  • 百度收录规则桂林seo公司推荐23火星
  • 做百度推广是网站好还是阿里好python开发工具
  • 秦皇岛网站制作小程序开发作图网站
  • 网站建设完整版指数是什么意思
  • 高端企业网站要多少钱网络推广文案招聘
  • 仿门户网站多功能js相册画廊源码 支持缩略小图浏览wordpress模版如何使用
  • 群晖nas可以做网站网页设计与制作步骤
  • 单位网站维护 网站建设岗位兰溪网站建设公司
  • 网站开发什么语言最好网站建设在国内外研究现状
  • 怎么看网站是用什么系统做的永久观看不收费的直播
  • 网站开发如何避免浏览器缓存的影响资讯网站开发的背景
  • 建网站 几个链接站长工具在线平台
  • 东营网站建设策划内容个人备案网站投放广告
  • 建立网站时服务器的基本配置有哪些做网站电信运营许可证
  • 如何阿里巴巴网站做推广方案怎么做网站的浏览栏
  • 织梦做中英文企业网站ui设计工资一般多少钱
  • php网站调试环境搭建关于网站开发的毕业设计
  • 如何在网站上做评比wordpress 图标代码
  • 网站优化建议怎么写pageadmin怎么样
  • 中外商贸网站建设平台合肥响应式网站开发
  • 雨花区区网站建设公司上传文章网站
  • 长春网站z制作自己做背景的网站
  • 浙江英文网站建设陕西百度推广的代理商