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

成都网站建设设计做国外网站

成都网站建设设计,做国外网站,企业门户网站建设与发展趋势,c2c模式盈利模式目录(标2的是我自己写的一堆问题不知道怎么改) 开始菜单1打印棋盘1玩家下棋1电脑下棋1判断输赢1开始菜单2打印棋盘2选择先后2玩家下棋2电脑下棋2判断输赢2完整代码文件else.h文件else.c文件test.c 开始菜单1 void menu()//打印菜单 {printf("*****…

目录(标2的是我自己写的一堆问题不知道怎么改)

  • 开始菜单1
  • 打印棋盘1
  • 玩家下棋1
  • 电脑下棋1
  • 判断输赢1
  • 开始菜单2
  • 打印棋盘2
  • 选择先后2
  • 玩家下棋2
  • 电脑下棋2
  • 判断输赢2
  • 完整代码
    • 文件else.h
    • 文件else.c
    • 文件test.c

开始菜单1

void menu()//打印菜单
{printf("******************\n");printf("******1.play******\n");printf("******0.exit******\n");printf("******************\n");
}

打印棋盘1

//存放下棋数据
char board[ROW][COL] = { 0 };
//初始化棋盘为全空格
InitBoard(board, ROW, COL);
//初始化棋盘为空格
void InitBoard(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 DisplayBoard(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++){printf(" %c ",board[i][j]);//别忘记board[i][j]if (j < col - 1){printf("|");}}printf("\n");//打印分割行if (i < row-1)//记住   row-1{for (j = 0; j < col; j++){printf("---");if (j < col - 1){printf("|");}}printf("\n");}}
}

玩家下棋1

//玩家下棋
void player_move(char board[ROW][COL], int row, int col)
{int x = 0;int 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");}}

电脑下棋1

void computer_move(char board[ROW][COL], int row, int col)
{int x = 0;int y = 0;printf("电脑下棋:>\n");while (1){x = rand() % 3;//范围(a,b)用rand表示就是rand()%(b-a+1)y = rand() % 3;if (board[x][y] == ' ')//判断是否为空格,因为只有这一个条件,所以满足这个条件就可以下{board[x][y] = '#';break;}}
}

判断输赢1

while (1)//玩家和电脑轮流下棋,直到一方胜利{   //玩家下棋player_move(board, ROW, COL);//打印棋盘DisplayBoard(board, ROW, COL);ret = is_win(board, ROW, COL);if (ret != 'C'){break;}//电脑下棋computer_move(board, ROW, COL);//打印棋盘DisplayBoard(board, ROW, COL);ret = is_win(board, ROW, COL);if (ret != 'C'){break;}}if (ret == '*'){printf("玩家获胜\n");}else if (ret == '#'){printf("电脑获胜\n");}else // (ret == 'Q'){printf("平局\n");}DisplayBoard(board, ROW, COL);
}//判断输赢
char is_win(char board[ROW][COL], int row, int col)
{//判断每一行是否都相等int i = 0;for (i = 0; i < col; i++){if (board[i][0] == board[i][1] && board[i][1] == board[i][2] && board[i][1] != ' '){return  board[i][1];}}//判断每一列是否都相等for (i = 0; i < col; i++){if (board[0][i] == board[1][i] && board[1][i] == board[2][i] && board[1][i] != ' '){return board[i][1];}}//判断对角线是否都相等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';
}

开始菜单2

int  begin()
{printf("##########请选择##########\n");printf("##########1:play##########\n");printf("##########0:exit##########\n");printf("##########################\n");int a = 0;scanf("%d", &a);if (a == 0 || a == 1)return 1;else{printf("输入错误,请重新输入\n");return 0;}
}

打印棋盘2

void play(char arr[3][3])
{for (int i = 0; i < 3; i++){for (int j = 0; j < 3; j++){if (j < 2)printf(" %c |", arr[i][j]);elseprintf(" % c  ", arr[i][j]);}printf("\n");printf("___|___|___\n");}
}

选择先后2

int  select()
{int select1;printf("##########################\n");printf("######请选择先后顺序######\n");printf("#########1:玩家先#########\n");printf("#########2:电脑先#########\n");printf("##########################\n");scanf("%d", &select1);if(select1==1||select1==2)return select1;else{printf("输入错误,请重新输入\n");return 0;}
}

玩家下棋2

 int  player(char arr[3][3])
{printf("请输入坐标\n");int x , y ;scanf("%d %d", &x, &y);if (x >= 1 && x <= 3 && y >= 1 && y <= 3 && arr[x-1][y-1] != '@'){arr[y - 1][x - 1] = '*';return 1;}else{printf("输入错误,请重新输入\n");return 0;}
}

电脑下棋2

void computer(char arr[3][3])
{while (1){srand((unsigned int)time(NULL));int r1 = 0 + rand() % (2 - 0 + 1);int r2 = 0 + rand() % (2 - 0 + 1);if (arr[r1][r2] == '#'){arr[r1][r2] = '@';break;}}
}

判断输赢2

这里不想思考了所以直接就把这些情况都列举出来了

 int  over(char arr[3][3])
{if (arr[0][0] =='*' && arr[0][0] == arr[1][0] && arr[1][0] == arr[2][0])//横着的第一行为*{printf("玩家获胜\n");return 1;}else if (arr[1][0] == '*' && arr[1][0] == arr[1][1] && arr[1][1] == arr[1][2])//横着的第二行为*{printf("玩家获胜\n");return 1;}else if (arr[2][0] == '*' && arr[2][0] == arr[2][1] && arr[2][1] == arr[2][2])//横着的第三行为*{printf("玩家获胜\n");return 1;}else if (arr[0][0] == '*' && arr[0][0] == arr[0][1] && arr[0][1] == arr[0][2])//竖着的第一列为*{printf("玩家获胜\n");return 1;}else if (arr[1][0] == '*' && arr[1][0] == arr[1][1] && arr[1][1] == arr[1][2])//竖着的第二列为*{printf("玩家获胜\n");return 1;}else if (arr[2][0] == '*' && arr[2][0] == arr[2][1] && arr[2][1] == arr[2][2])//竖着的第三列为*{printf("玩家获胜\n");return 1;}else if (arr[0][0] == '*' && arr[0][0] == arr[1][1] && arr[1][1] == arr[2][2])//对角线左到右为*{printf("玩家获胜\n");return 1;}else if (arr[2][0] = '*' && arr[2][0] == arr[1][1] && arr[1][1] == arr[0][2])//对角线右到左为*{printf("玩家获胜\n");return 1;}else if (arr[0][0] == '@' && arr[0][0] == arr[1][0] && arr[1][0] == arr[2][0])//横着的第一行为*{printf("电脑获胜\n");return 1;}else if (arr[1][0] == '@' && arr[1][0] == arr[1][1] && arr[1][1] == arr[1][2])//横着的第二行为*{printf("电脑获胜\n");return 1;}else if (arr[2][0] == '@' && arr[2][0] == arr[2][1] && arr[2][1] == arr[2][2])//横着的第三行为*{printf("电脑获胜\n");return 1;}else if (arr[0][0] == '@' && arr[0][0] == arr[0][1] && arr[0][1] == arr[0][2])//竖着的第一列为*{printf("电脑获胜\n");return 1;}else if (arr[1][0] == '@' && arr[1][0] == arr[1][1] && arr[1][1] == arr[1][2])//竖着的第二列为*{printf("电脑获胜\n");return 1;}else if (arr[2][0] =='@' && arr[2][0] == arr[2][1] && arr[2][1] == arr[2][2])//竖着的第三列为*{printf("电脑获胜\n");return 1;}else if (arr[0][0] =='@' && arr[0][0] == arr[1][1] && arr[1][1] == arr[2][2])//对角线左到右为*{printf("电脑获胜\n");return 1;}else if (arr[2][0] == '@' && arr[2][0] == arr[1][1] && arr[1][1] == arr[0][2])//对角线右到左为*{printf("电脑获胜\n");return 1;}else{int count = 0;for (int i = 0; i < 3; i++){for (int j = 0; j < 3; j++){if (arr[i][j] != '#')count++;}}if (count == 9){printf("平局\n");return 2;}}
}

完整代码

文件else.h

#pragma once
int  begin();
void play(char arr[3][3]);
int  select();
void computer(char arr[3][3]);
int  player(char arr[3][3]);
int  over(char arr[3][3]);

文件else.c

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int  begin()
{printf("##########请选择##########\n");printf("##########1:play##########\n");printf("##########0:exit##########\n");printf("##########################\n");int a = 0;scanf("%d", &a);if (a == 0 || a == 1)return 1;else{printf("输入错误,请重新输入\n");return 0;}
}
void play(char arr[3][3])
{for (int i = 0; i < 3; i++){for (int j = 0; j < 3; j++){if (j < 2)printf(" %c |", arr[i][j]);elseprintf(" % c  ", arr[i][j]);}printf("\n");printf("___|___|___\n");}
}
int  select()
{int select1;printf("##########################\n");printf("######请选择先后顺序######\n");printf("#########1:玩家先#########\n");printf("#########2:电脑先#########\n");printf("##########################\n");scanf("%d", &select1);if(select1==1||select1==2)return select1;else{printf("输入错误,请重新输入\n");return 0;}
}
void computer(char arr[3][3])
{while (1){srand((unsigned int)time(NULL));int r1 = 0 + rand() % (2 - 0 + 1);int r2 = 0 + rand() % (2 - 0 + 1);if (arr[r1][r2] == '#'){arr[r1][r2] = '@';break;}}
}int  player(char arr[3][3])
{printf("请输入坐标\n");int x , y ;scanf("%d %d", &x, &y);if (x >= 1 && x <= 3 && y >= 1 && y <= 3 && arr[x-1][y-1] != '@'){arr[y - 1][x - 1] = '*';return 1;}else{printf("输入错误,请重新输入\n");return 0;}
}int  over(char arr[3][3])
{if (arr[0][0] =='*' && arr[0][0] == arr[1][0] && arr[1][0] == arr[2][0])//横着的第一行为*{printf("玩家获胜\n");return 1;}else if (arr[1][0] == '*' && arr[1][0] == arr[1][1] && arr[1][1] == arr[1][2])//横着的第二行为*{printf("玩家获胜\n");return 1;}else if (arr[2][0] == '*' && arr[2][0] == arr[2][1] && arr[2][1] == arr[2][2])//横着的第三行为*{printf("玩家获胜\n");return 1;}else if (arr[0][0] == '*' && arr[0][0] == arr[0][1] && arr[0][1] == arr[0][2])//竖着的第一列为*{printf("玩家获胜\n");return 1;}else if (arr[1][0] == '*' && arr[1][0] == arr[1][1] && arr[1][1] == arr[1][2])//竖着的第二列为*{printf("玩家获胜\n");return 1;}else if (arr[2][0] == '*' && arr[2][0] == arr[2][1] && arr[2][1] == arr[2][2])//竖着的第三列为*{printf("玩家获胜\n");return 1;}else if (arr[0][0] == '*' && arr[0][0] == arr[1][1] && arr[1][1] == arr[2][2])//对角线左到右为*{printf("玩家获胜\n");return 1;}else if (arr[2][0] = '*' && arr[2][0] == arr[1][1] && arr[1][1] == arr[0][2])//对角线右到左为*{printf("玩家获胜\n");return 1;}else if (arr[0][0] == '@' && arr[0][0] == arr[1][0] && arr[1][0] == arr[2][0])//横着的第一行为*{printf("电脑获胜\n");return 1;}else if (arr[1][0] == '@' && arr[1][0] == arr[1][1] && arr[1][1] == arr[1][2])//横着的第二行为*{printf("电脑获胜\n");return 1;}else if (arr[2][0] == '@' && arr[2][0] == arr[2][1] && arr[2][1] == arr[2][2])//横着的第三行为*{printf("电脑获胜\n");return 1;}else if (arr[0][0] == '@' && arr[0][0] == arr[0][1] && arr[0][1] == arr[0][2])//竖着的第一列为*{printf("电脑获胜\n");return 1;}else if (arr[1][0] == '@' && arr[1][0] == arr[1][1] && arr[1][1] == arr[1][2])//竖着的第二列为*{printf("电脑获胜\n");return 1;}else if (arr[2][0] =='@' && arr[2][0] == arr[2][1] && arr[2][1] == arr[2][2])//竖着的第三列为*{printf("电脑获胜\n");return 1;}else if (arr[0][0] =='@' && arr[0][0] == arr[1][1] && arr[1][1] == arr[2][2])//对角线左到右为*{printf("电脑获胜\n");return 1;}else if (arr[2][0] == '@' && arr[2][0] == arr[1][1] && arr[1][1] == arr[0][2])//对角线右到左为*{printf("电脑获胜\n");return 1;}else{int count = 0;for (int i = 0; i < 3; i++){for (int j = 0; j < 3; j++){if (arr[i][j] != '#')count++;}}if (count == 9){printf("平局\n");return 2;}}
}

文件test.c

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include"else.h"
int main()
{int r = 0;char arr[3][3] = { {'#','#','#'},{'#','#','#'},{'#','#','#' } };while (1){if (begin() == 1)break;}play(arr);while (1){r = select();if(r==1||r==2)break;}while (1){if (r == 1){while (1){while (1){if (player(arr) == 0)break;play(arr);printf("\n");computer(arr);play(arr);printf("\n");over(arr);}}}else{while (1){computer(arr);play(arr);printf("\n");player(arr);	play(arr);printf("\n");over(arr);}}}return 0;
}
http://www.mmbaike.com/news/53541.html

相关文章:

  • 品牌建设影响移动端关键词排名优化
  • 房产网站有哪些网站检测
  • 拼多多电商网站建设百度学术查重
  • 怎样做销售产品网站推广哪个网站好
  • 有网站的源代码怎么生成网站广州百度竞价托管
  • 搭建企业网站宽带多大肇庆网络推广
  • 电子印章在线制作网站收录提交入口网址
  • 武汉南亚建设监理有限公司网站海外市场推广方案
  • 柯林自助建站360搜索引擎网址
  • 网站建设的步骤目标规划优化网站推广网站
  • 只做原创内容平台网站qq推广软件
  • 下载网站模板怎么使用教程广告投放
  • 专业做app下载网站免费建网站软件下载
  • 爱奇艺会员推广联盟西安全网优化
  • 莞城注册能源公司网上注册流程优化网络搜索引擎
  • 自己怎样做网站网络营销工作内容是什么
  • 网站的程序怎么做软文推广软文营销
  • 沈阳网站设计广告公司关键词seo优化软件
  • 动图生成器在线制作百度人工优化
  • 上海公司核名查询seo站长工具是什么
  • 用extjs做的网站北京seo营销公司
  • 怎么自己写网站代运营竞价公司
  • 遵义网站建设oadminseo关键词推广价格
  • php网站开发套模板步骤5118关键词挖掘工具
  • 小程序服务器费用seo网页优化平台
  • cnzz网站代做手机如何制作网站教程
  • cad效果图怎么制作济南百度推广优化
  • 交互式网站开发技术有哪些中国今天刚刚发生的新闻
  • 中国做网站最好的公司seo网站推广助理
  • 公安机关网站规范化建设应用网络营销策划书的结构是什么