三子棋,小试牛刀

三子棋的初始版

表面结构

<span style="color:#33ccff">
#include "game.h"
void menu()
{printf("  ★★★★★★★★★★★★★★★★★★\n");printf(" ★★★                          ★★★\n");printf("★★★  1.开始游戏     0.结束游戏 ★★★\n");printf(" ★★★                          ★★★\n");printf("  ★★★★★★★★★★★★★★★★★★\n");printf("请选择:");
}
void game()
{char board[ROW][LINE] = { 0 };            //创建数组(放棋子)Initboard(board, ROW, LINE);              //初始化棋盘Printfboard(board, ROW, LINE);            //打印棋盘while (1){Player_Runboard(board, ROW, LINE);                   //玩家开始下棋computer_Runboard(board, ROW, LINE);                 //电脑开始下棋Printfboard(board, ROW, LINE);judgeboard(board, ROW, LINE);                       //判断输赢if (judgeboard(board, ROW, LINE) == 'X'){printf("玩家赢!!\n");break;}else if (judgeboard(board, ROW, LINE) == '@'){printf("电脑赢!!\n");break;}}
}
void test()
{int input = 0;srand((unsigned int)time(NULL));do{menu();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;
}</span>

隐藏函数

<span style="color:#cc33cc">
#include "game.h"
void Initboard(char board[ROW][LINE], int row, int line)
{int i = 0;for (i = 0; i < row; i++){int j = 0;for (j = 0; j < line; j++){board[i][j] = ' ';}}
}
void Printfboard(char board[ROW][LINE], int row, int line)
{int i = 0;int j = 0;for (i = 0; i<row; i++){for (j = 0; j< line; j++){printf(" %c ",board[i][j]);if (j<line-1)printf("|");}printf("\n");if (i < row - 1){for (j = 0; j< line; j++){printf("---");if (j<line - 1)printf("|");}}printf("\n");}
}
void Player_Runboard(char board[ROW][LINE], int row, int line)
{int x = 0;int y = 0;printf("玩家走:\n");while (1){printf("请输入坐标:");scanf("%d%d", &x, &y);if ((x >= 1 && x <= (row + 1)) && (y >= 1 && y <= (line + 1))){if (board[x - 1][y - 1] == ' '){board[x - 1][y - 1] = 'X';break;}else{printf("坐标已被占用\n");}}else{printf("坐标非法\n");}}
}
void computer_Runboard(char board[ROW][LINE])
{int x = 0;int y = 0;printf("电脑走:\n");while (1){x = rand() % ROW;y = rand() % LINE;if (board[x][y] == ' '){board[x][y] = '@';break;}}
}
char judgeboard(char board[ROW][LINE], int row, int line)
{int i = 0;for (i = 0; i < row; i++)                 //横向判断{if (board[i][0] == board[i][1] && board[i][0] == board[i][2] && board[i][1] !=' '){return board[1][1];}}for (i = 0; i < row; i++)                 //竖向判断{if (board[0][i] == board[1][i] && board[0][i] == board[2][i] && board[0][i] != ' '){return board[1][1];}}if (board[0][0] == board[1][1] && board[0][0] == board[2][2] && board[0][0] != ' ')  // 右斜判断{return board[1][1];}if (board[0][2] == board[1][1] && board[1][1] == board[2][0] && board[1][1] != ' ')  // 左斜判断{return board[1][1];}
}</span>

头文件与函数的声明

<span style="color:#cc0000">
#ifndef __GAME_H__
#define __GAME_H__
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#define ROW  3
#define LINE 3
void Initboard(char board[ROW][LINE], int row, int line);
void Printfboard(char board[ROW][LINE], int row, int line);
void Player_Runboard(char board[ROW][LINE], int row, int line);
void computer_Runboard(char board[ROW][LINE], int row, int line);
char judgeboard(char board[ROW][LINE], int row, int line);#endif  //__GAME_H__</span>

初步运行结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/495007.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【科普】大脑是如何编码复杂信息的?

来源&#xff1a; 原理摘要&#xff1a;在电信技术发展的早期&#xff0c;工程师们发明了一种巧妙的方法&#xff0c;通过一根线路同时传输多个电话信号。在电信技术发展的早期&#xff0c;工程师们发明了一种巧妙的方法&#xff0c;通过一根线路同时传输多个电话信号。这种技术…

为Visual Studio 2010添加HTML5的项目模板

HTML5时代来了&#xff0c;还不为你的Visual Studio 2010添加HTML5的项目模板&#xff01;&#xff01;&#xff01; 本文在简单不过了&#xff0c;就是为你的Visual Studio2010创建一个项目模板&#xff0c;一个HTML5的项目模板。谁叫HTML5时代来了&#xff0c;Visual Studio …

物联网时代 人工智能如何与信息安全平衡发展?

来源&#xff1a;中新网近年来&#xff0c;随着机器学习、计算能力、存储能力以及云计算等技术发展&#xff0c;人工智能技术呈现出“井喷式”发展&#xff0c;家电、移动设备等各种硬件产品中都开始融入人工智能技术&#xff0c;AI人工智能的发展已成为大势所趋。360智能安全研…

杨氏矩阵简单介绍

杨氏矩阵的由来 在数学中&#xff0c;杨表&#xff08;英语&#xff1a;Young tableau&#xff09;&#xff0c;又称杨氏矩阵。是对组合表示理论和舒伯特演算很有用的工具。它提供了一种方便的方式来描述对称和一般线性群的群表示&#xff0c;并研究它们的性质。杨表是剑桥大学…

全球五十家知名传感器制造商分布盘点、特点分析

来源&#xff1a;工业智能化摘要&#xff1a;近年来&#xff0c;世界传感器市场以持续稳定的增长之势向前发展&#xff0c;各国企业竞相加速对传感器的开发和产业化。东欧、亚太区和加拿大成为传感器市场增长最快的地区&#xff0c;而美国、德国、日本依然是传感器市场分布最大…

AI芯片:从历史看未来

来源&#xff1a;36氪摘要&#xff1a;从芯片发展的大趋势来看&#xff0c;目前尚处于AI芯片发展的初级阶段&#xff0c;无论是科研还是产业应用都有巨大的创新空间。我们相信&#xff0c;未来十年将是AI芯片发展的重要时期&#xff0c;有望在架构和设计理念取得巨大的突破。目…

替换字符串中的空格

剑指offer面试题 请实现一个函数&#xff0c;将一个字符串中的每个空格替换成“%20”。例如&#xff0c;当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 看到题目后的思路 看到这个题目后&#xff0c;我们首相应该想到的是&#xff1a;原来的一个空格字…

类型,对象,线程栈和托管堆在运行时的相互关系(一)。

当系统加载一个CLR的进程&#xff0c;进程里面可能有多个线程&#xff0c;这时候系统会给这个进程创建一个大小为1M的线程栈。这个线程栈用来存放方法调用的实参&#xff0c;和方法内部定义的局部变量。下图展示了一个线程栈的栈内存。线程栈的存储是从高位内存地址向地位内存地…

阿里云发布三大人工智能产品:推动AI产业落地

来源&#xff1a;科技圈里那点事儿摘要&#xff1a; 近日&#xff0c;阿里云正式发布了三款人工智能产品&#xff1a;图像搜索、智能语音自学习平台以及机器翻译&#xff0c;进一步推动产业AI的落地。近日&#xff0c;阿里云正式发布了三款人工智能产品&#xff1a;图像搜索、智…

C/C++求一个整数的二进制中1的个数(用三种效率不同的方法实现)

题目&#xff1a; 实现一个函数&#xff0c;输入一个整数&#xff0c;输出该数二进制中1的个数。例如把9表示成二进制是1001&#xff0c;有2位是1&#xff0c;因此如果输入是9&#xff0c;该函数输出2 第一种解法&#xff08;死循环&#xff09; 判断整数二进制表示中最右边…

2018智能音频报告:智能音箱带来的智能音频和广播媒体的机遇

来源&#xff1a;199IT互联网数据中心摘要&#xff1a;前中国智能音箱正热&#xff0c;阿里巴巴、京东、百度纷纷发布自己的智能音箱产品&#xff0c;大打价格战&#xff0c;希望以绝对底价抢占市场。前中国智能音箱正热&#xff0c;阿里巴巴、京东、百度纷纷发布自己的智能音箱…

c++中求前n项和(这代码不得不让我佩服)

今天在牛客网上刷题&#xff0c;遇到了这道题&#xff0c;最后我看到一位大佬的代码让我感觉的还差很多&#xff01;&#xff01;&#xff01; 题目 求123…n&#xff0c;要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句&#xff08;A?B:C&am…

基于Arduino和HC-SR04的超声波测距系统设计

本文介绍了如何使用Arduino和HC-SR04超声波传感器设计并构建一个简单的超声波测距系统。我们将详细讨论硬件连线和编程步骤&#xff0c;并提供完整的Arduino代码。此系统可以应用于各种需要测量距离的项目&#xff0c;例如智能车辆、机器人和安防系统。 引言&#xff1a; 超声…

中国AI企业吸金旺但90%亏损 今年将迎倒闭潮

来源&#xff1a;网易智能摘要&#xff1a; 据报道&#xff0c;自2017年人工智能成为国家战略目标后&#xff0c;相关产业迎来飞速发展机遇&#xff0c;更成为全球吸金能力最强的产业之一。2017全年&#xff0c;大陆AI企业的融资总额已占到全球的7成&#xff0c;但其背后的隐忧…

不用加减乘除算加法

题目 写一个函数&#xff0c;求两个整数之和&#xff0c;要求在函数体内不得使用、-、*、/四则运算符号。 思路 &#xff08;一&#xff09;首先看我们平时的十进制是如何做的&#xff1a; 65 &#xff0c;三步曲&#xff01;&#xff01;&#xff01; 相加各位的值&#xf…

《Nature》纪念人工智能60周年专题:深度学习综述

来源&#xff1a;网络大数据摘要&#xff1a;本文是《Nature》杂志为纪念人工智能60周年而专门推出的深度学习综述&#xff0c;也是Hinton、LeCun和Bengio三位大神首次合写同一篇文章。本文是《Nature》杂志为纪念人工智能60周年而专门推出的深度学习综述&#xff0c;也是Hinto…

对抗性攻击轻松愚弄人工智能

对抗性攻击欺骗图像识别算法将3D打印乌龟认作步枪。来源&#xff1a;中国科学报摘要&#xff1a;在日前于瑞典斯德哥尔摩举行的国际机器学习会议上&#xff0c;一群研究人员描述了他们的3D打印乌龟。在日前于瑞典斯德哥尔摩举行的国际机器学习会议上&#xff0c;一群研究人员描…

浅谈C语言指针

什么是指针&#xff1f; 在计算机科学中&#xff0c;指针&#xff08;Pointer&#xff09;是编程语言中的一个对象&#xff0c;利用地址&#xff0c;它的值直接指向存在电脑存储器中的另一个地方的值。由于通过地址能找到所需的变量单位&#xff0c;可以说&#xff0c;地址指向…

转:EXCEL数据有效性设置

原文&#xff1a; http://hi.baidu.com/guosq/blog/item/88b37cd5bd367cfda144dfa0.html 先看图&#xff0c;有学生成绩表格&#xff0c;录入要求&#xff1a; 1. 成绩范围&#xff1a; 0 - 100&#xff1b; 2. 课程&#xff1a;只能是语文、数学、英语。 操作步骤&#xff1a;…

科学家绘制果蝇完整大脑高清图—可借此追踪任何两个神经元之间的连接

研究人员利用电子显微镜重建了果蝇的一系列神经元。来源&#xff1a;中国科学报科学家近日首次对黑腹果蝇的整个大脑进行了足够详细的成像&#xff0c;从而能探测每个神经元之间的单独连接&#xff0c;或者说突触。由此获得的图像数据库可帮助研究人员描绘支撑果蝇嗅闻、嗡嗡叫…