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

常州妇幼做的无创 在哪个网站查优化网站页面

常州妇幼做的无创 在哪个网站查,优化网站页面,深圳哪里有做网站的公司,教育网站建设方案模板目录 一.设计游戏框架 1.打印游戏菜单 2.输入选择判断(玩游戏/游戏结束/输入错误重新输入) 二、玩游戏过程设计 1.设计棋格存放棋子——二维数组 2.初始化棋盘——初始化为空格 3.打印棋盘——本质上就是打印数组 4.游戏过程——1.玩家走棋 2.…

目录

一.设计游戏框架

1.打印游戏菜单

2.输入选择判断(玩游戏/游戏结束/输入错误重新输入)  

二、玩游戏过程设计

1.设计棋格存放棋子——二维数组

2.初始化棋盘——初始化为空格

3.打印棋盘——本质上就是打印数组

4.游戏过程——1.玩家走棋 2.判断结果 3.电脑走棋 4.判断结果

⑴玩家走棋

Ⅰ    需要判断棋盘空格的合法性

Ⅱ    判断空格是否被占据

⑵判断输赢——四种结果

Ⅰ    玩家赢

Ⅱ    电脑赢

Ⅲ    游戏平局

Ⅴ    继续游戏

⑶电脑走棋

Ⅰ    用伪随机函数产生,需要伪随机数种子生成器,用空指针的时间函数生成时间戳

Ⅱ    判断空格是否被占据

附录:头文件里的符号定义以及相关声明 


一.设计游戏框架

1.打印游戏菜单

//游戏框架
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");break;}} while (input);return 0;
}

2.输入选择判断(玩游戏/游戏结束/输入错误重新输入) 

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

二、玩游戏过程设计

1.设计棋格存放棋子——二维数组

void game()
{//定义3*3的数组来存储棋子类型 存储数据char board[ROW][COL];//完成棋盘的初始化-初始化空格INit_board(board,ROW,COL);//打印棋盘——本质上就是打印数组Displayboard(board,ROW,COL);char ret = 0;while (1){//玩家下棋Playerboard(board,ROW,COL);Displayboard(board, ROW, COL);//  判断游戏进行状态ret=Iswin(board, ROW, COL);if (ret != 'C')break;//电脑下棋Computerboard(board, ROW, COL);Displayboard(board, ROW, COL);if (ret != 'C')break;}if (ret == '*'){printf("玩家赢了\n");}else if (ret == '#'){printf("电脑赢了\n");}else if (ret == 'Q'){printf("游戏平局\n");}Displayboard(board, ROW, COL);}

2.初始化棋盘——初始化为空格

//棋盘的初始化
void INit_board(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] = ' ';}}
}

3.打印棋盘——本质上就是打印数组

//打印棋盘
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]);if (j < col - 1)printf("|");}printf("\n");if (i < row - 1){for (j = 0; j < col; j++){printf("---");if (j < col - 1)printf("|");}printf("\n");}}}

4.游戏过程——1.玩家走棋 2.判断结果 3.电脑走棋 4.判断结果

⑴玩家走棋

Ⅰ    需要判断棋盘空格的合法性
Ⅱ    判断空格是否被占据
//玩家下棋
void Playerboard(char board[ROW][COL], int row, int col)
{int x = 0;int y = 0;//判断棋盘空格的合法性//判断空格是否被占据while (1){printf("请玩家下棋:<");scanf("%d %d", &x, &y);//判断棋盘空格的合法性if (x >= 1 && x <= 3 && y >= 1 && y <= 3 && board[x - 1][y - 1] == ' '){board[x - 1][y - 1] = '*';break;}//判断空格是否被占据else if(x >= 1 && x <= 3 && y >= 1 && y <= 3 && board[x - 1][y - 1] != ' '){printf("所下棋格被占据,请玩家重新下棋\n");}elseprintf("下棋超出范围,请玩家重新下棋\n");}}

⑵判断输赢——四种结果

Ⅰ    玩家赢
Ⅱ    电脑赢
Ⅲ    游戏平局
Ⅴ    继续游戏
//判断结果
char Iswin(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[i][0] != ' ')return board[2][i];}//判断对角线if (board[0][0] == board[1][1] && board[1][1] == board[2][2] && board[1][1] != ' ')return board[1][1];if (board[2][0] == board[1][1] && board[1][1] == board[0][2] && board[1][1] != ' ')return board[1][1];//判断和棋的情况 返回1棋盘已满 返回0棋盘未放满int ret = Isfull(board,ROW,COL);if (ret == 1){return 'Q';}if (ret == 0)return 'C';}
//为判断和棋情况单独分的函数
int 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 1;}

⑶电脑走棋

Ⅰ    用伪随机函数产生,需要伪随机数种子生成器,用空指针的时间函数生成时间戳
Ⅱ    判断空格是否被占据
//电脑下棋
void Computerboard(char board[ROW][COL], int row, int col)
{printf("请电脑下棋:<\n");while (1)//判断空格是否被占据{int x = rand() % 3;int y = rand() % 3;if (board[x][y] == ' '){board[x][y] = '#';break;}}
}

附录:头文件里的符号定义以及相关声明 

//头文件的相关引用
#include <stdlib.h>
#include <time.h>//符号的定义
#define		ROW		3
#define		COL		3//函数的声明
//初始化棋盘的函数
void INit_board(char board[ROW][COL], int row, int col);//打印棋盘的函数
void Displayboard(char board[ROW][COL],int row, int col);//玩家下棋的函数
void Playerboard(char board[ROW][COL], int row, int col);//电脑下棋
void Computerboard(char board[ROW][COL], int row, int col);//判断游戏进行的状态:
char Iswin(char board[ROW][COL], int row, int col);int Isfull(char board[ROW][COL], int row, int col);

http://www.tj-hxxt.cn/news/55029.html

相关文章:

  • 网络培训研修总结广州网站优化服务
  • 重庆市住建厅网站人民日报客户端
  • 秦皇岛建设网站防止恶意点击软件管用吗
  • 温州网站建设结构seo优化推广
  • 晋城网站制作软件推广赚钱一个10元
  • php网站开发 薪资 东莞那种网站怎么搜关键词
  • 建德做网站seo是免费的吗
  • 四站合一网站建设公司广州网络seo公司
  • 网站建设文字内容百度关键词seo排名软件
  • 什么网站可以看到绵阳建设成人职业技能培训有哪些项目
  • 怎么做网站底部备案号百度做广告多少钱
  • 网站开发服务器数据库免费建网站最新视频教程
  • 做ppt模板网站有哪些今日热榜
  • 什么是营销模式广州seo优化电话
  • 中企动力做网站的价格域名解析ip
  • 婚纱网站内容制作搜索引擎地址
  • 丹阳市制作网站网站制作的流程
  • 做购物网站 营业范围是什么东莞网站优化
  • 哈尔滨模板自助建站福州百度快照优化
  • wordpress文章自定义字段开发网站seo优化免费
  • 金华建设局网站节能备案登记表十大营销案例分析
  • 上海企业网站模板建站平台上海seo优化服务公司
  • php网站开发是什么太原seo全网营销
  • 大型网站制作费用表seo助手
  • 企业网站建设一般要素统计网站流量的网站
  • 怎么查询网站是否收录海南百度推广公司电话
  • 网站建设步骤详解一手app推广接单平台
  • 展现真实网站深圳市seo点击排名软件价格
  • 国外做珠宝的网站有哪些win7系统优化工具
  • 专业做网站咨询淘宝权重查询