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

建设项目立项网站淘宝网站开发实训报告目录

建设项目立项网站,淘宝网站开发实训报告目录,南阳网站建设seo,wordpress博客站点地图思路分析#xff1a; 1、写菜单 2、菜单之后进入游戏的操作 3、写函数 实现游戏 3.1、初始化棋盘函数#xff0c;使数组元素都为空格 3.2、打印棋盘 棋盘的大概样子 3.3、玩家出棋 3.3.1、限制玩家要下的坐标位置 3.3.2、判断玩家要下的位置是否由棋子 3.4、电脑出棋 3.4.1、… 思路分析 1、写菜单 2、菜单之后进入游戏的操作 3、写函数 实现游戏         3.1、初始化棋盘函数使数组元素都为空格         3.2、打印棋盘 棋盘的大概样子         3.3、玩家出棋                 3.3.1、限制玩家要下的坐标位置                 3.3.2、判断玩家要下的位置是否由棋子         3.4、电脑出棋                 3.4.1、用随机数 让电脑随机生成坐标         3.5、判断玩家和电脑谁赢了 代码实现 game.h文件 #ifndef _GAME_H #define _GAME_H #include stdio.h #include time.h #include string.h #include stdlib.h#define ROW 3 #define COL 3 //函数说明 void 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 ct_move(char board[ROW][COL], int row, int col); char Iswin(char board[ROW][COL], int row, int col); #endif game.c--游戏算法实现 #include game.h //初始化数组为 空格 void Initboard(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] ;}} }//展示棋盘 void Displayboard(char board[ROW][COL], int row, int col) {int i;for (int i 0; i row; i){int j;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);} }//玩家出棋 void playermove(char board[ROW][COL], int row, int col) {int x, y;printf(玩家走-:\n);//不到停止条件 一致循环while (1){printf(请输入要下的坐标\n);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(该坐标被占用);}}else{printf(坐标非法,请重新输入);}} }//电脑出棋 void ct_move(char board[ROW][COL], int row, int col) {int x, y;printf(电脑走-:\n);//用sand函数 使电脑生成0-2的随机数x rand() % row;y rand() % col;while (1){if (board[x][y] ){board[x][y] #;break;}} }//看棋盘是否下满了 int isfull(char board[ROW][COL], int row, int col) {int i ,j;for(i 0;i row;i){for(j 0;j col;j){//如果数组元素中还有 空格 那就返回 0if(board[i][j] ){return 0;} }}return 1; }//看玩家和电脑谁赢了 char Iswin(char board[ROW][COL], int row, int col) {int i;//横相等for (i 0; i row; i){if (board[i][0] board[i][1] board[i][1] board[i][2] board[i][1] ! ){return board[i][0];}}//竖相等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][0];}}//从左到右 对角线相等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];}//棋盘满了返回 1 再返回 q 平局if(1 isfull(board,ROW,COL)){return q;}//如果以上条件都不满足返回 c 表示游戏继续进行。return c; } test.c---测试文件 #include game.h // 菜单栏 void menu() {printf(\n);printf(\n);printf(三子棋1.0\n);printf(1 开始游戏0 退出游戏\n);printf(\n); } // 游戏的算法实现 void game() {char ret;// 数组-存放棋盘信息char board[ROW][COL] {0};// 初始化棋盘 使所有元素为空格Initboard(board, ROW, COL);// 打印棋盘Displayboard(board, ROW, COL);while (1){// 玩家下棋playermove(board, ROW, COL);// 下完再打印一次棋盘Displayboard(board, ROW, COL);// 判断玩家是否赢了ret Iswin(board, ROW, COL);if (ret ! c){break;}// 电脑下棋ct_move(board, ROW, COL);Displayboard(board, ROW, COL);// 判断电脑是否赢了ret Iswin(board, ROW, COL);/** *玩家赢* #电脑赢* c继续游戏* q平局*/// 如果ret 不等于 c 不继续游戏 那就break 退出游戏if (ret ! c){break;}}if (ret *){printf(玩家赢了\n);}else if (ret #){printf(电脑赢了\n);}else if (ret q){printf(平局\n);} }void test() {menu();int input;do{printf(请选择\n 1- 开始游戏 0- 退出游戏\n);scanf(%d, input);switch (input){case 1:printf(game start!\n);game();break;case 0:printf(game over!\n);break;default:printf(无效选项请重新选择);break;}} while (input); } int main(int argc, char const *argv[]) {// 随机函数srand(time(NULL));test();return 0; }效果展示
http://www.w-s-a.com/news/256/

相关文章:

  • 视频公司的网站设计工图网
  • 免费快速网站十八个免费的舆情网站