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

辛集网站建设哪家好想学习做网站

辛集网站建设哪家好,想学习做网站,wordpress 指定目录页,广东公司网站建设哪家好这是C语言小游戏三子棋的代码实现 test.c文件是用来测试的部分 game.h文件是用来声明我们说写出的函数 game.c文件是用来编写我们的功能实现函数部分 1.test.c #define _CRT_SECURE_NO_WARNINGS 1 #include"game.h" void menu() {printf("***************…

这是C语言小游戏三子棋的代码实现

test.c文件是用来测试的部分

game.h文件是用来声明我们说写出的函数

game.c文件是用来编写我们的功能实现函数部分

1.test.c

#define  _CRT_SECURE_NO_WARNINGS 1
#include"game.h"
void menu()
{printf("*************************\n");printf("*******   1.play  *******\n");printf("*******   2.exit  *******\n");printf("*************************\n");
}void game()
{//存放玩家或者电脑的落子情况char board[ROW][COL];char ret = 0;//初始化棋盘为全空格---->用init_board函数init_board(board, ROW,COL);//打印棋盘---->print_boaardprint_board(board, ROW, COL);while (1){player_move(board, ROW, COL);//玩家下棋实现print_board(board, ROW, COL);//打印//判断输赢ret=is_win(board,ROW,COL);if (ret != 'C'){break;}computer_move(board, ROW, COL);//电脑下棋print_board(board, ROW, COL);//判断输赢ret = is_win(board, ROW, COL);if (ret != 'C'){break;}}if (ret == '#')printf("电脑赢\n");else if (ret == '*')printf("玩家赢\n");else if (ret == 'Q')printf("平局\n");
}//判断输赢
//判断输赢的代码:电脑赢了?  玩家赢了?  平局?  继续进行?
//电脑赢:#
//玩家赢:*
//平局:Q
//游戏继续:C
void test()
{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");break;}} while (input);
}
int main()
{test();return 0;}

2.game.h

#pragma once
#define ROW 3 //行
#define COL 3 //列
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
//头文件声明函数
//初始化棋盘
void init_board(char board[ROW][COL],int row,int col);//打印棋盘
void print_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);

3.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;for (i = 0; i < row; i++){int j = 0;for (j = 0; j < col; j++){board[i][j] = ' ';}}
}//打印棋盘函数
void print_board(char board[ROW][COL], int row, int col)
{int i = 0;for (i = 0; i < row; i++){//printf(" %c | %c | %c \n", board[i][0], board[i][1], board[i][2]);int j = 0;for (j = 0; j < col; j++){printf(" %c ", board[i][j]);if(j<col-1)printf("|");}printf("\n");if (i < row - 1){//printf("---|---|---\n");int j = 0;for (j = 0; j < col; j++){printf("---");if (j < col - 1)printf("|");}printf("\n");}}
}void player_move(char board[ROW][COL], int row, int col)
{printf("玩家下棋\n");while (1){printf("请输入要输入的坐标-->");int x = 0;//行int y = 0;//列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 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;}}
}//只希望is_full函数只用来支持is_win函数,只是在id_win函数内部使用
// 没必要在头文件中声明
//判断棋盘是否满了的函数
static int is_full(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 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';
}

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

相关文章:

  • 专业网站建设加盟合作制作一个网站需要哪些人
  • 电子商城网站的设计与实现网站建设合同附加协议
  • 山西响应式网站建设设计北京网站建设58
  • 用rem做移动网站网站后期维护和管理怎么做
  • 网站推广好不好thymeleaf做网站 seo
  • 竹子建站怎么赚钱别的网站可以做弹幕
  • 青岛市建设局网站停工网站建设服务合同 律师
  • 百汇游戏网站开发商怎么建立一个购物网站
  • 整站优化要多少钱火的网站建设明细报价表
  • 网站策划书ppt网页设计结果分析怎么写
  • 专业做律师网站的公司青岛软件公司排名
  • 常用的网站推广方法有哪些什么网站做软文
  • 网站备案查询验证码错误搭建影视网站
  • 做企业网站的网站备案链接直接查看
  • 建行官方网站登录招远网站建设多少钱
  • 网站建设信息发布系统价格wordpress安装后只有英文
  • 创意互动 网站建设福州建站网络公司
  • 网站建设结算方式营销软件代理推广
  • 高端企业网站公司山东泰安人才网
  • 网站建设高度邢台企业做网站价格
  • 怎么采集网站内容首先确定网站建设的功能定位
  • 如何做网站title小标图凡科做的免费网站
  • 邢台网站建设与制作关于做教育新闻的网站
  • seo做网站赚钱吗买卖域名的网站
  • 城市建设理论研究网站做公司网站的公司
  • 内网网站建设工作会议做相亲网站 一年赚千万
  • 燕赵邯郸网站建设首都航空公司官方网站
  • 大华天途建设集团网站定制开发网站
  • 快站app下载html网站架设
  • 在线教育网站开发电子商务大型网站建设