井字棋判断输赢C
#include <stdio.h>
int main(){
char a[3][3];
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 3; ++j) {
scanf("%c",&a[i][j]);
getchar();
}
// scanf("\n");
}
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 3; ++j) {
printf("%c ",a[i][j]);
}
printf("\n");
}
int countX = 0,countO = 0;
for (int i = 0; i < 3; ++i) {
countO = countX = 0;
for (int j = 0; j < 3; ++j) {
if(a[i][j] == '*'){
countX++;
}else if(a[i][j] == 'O'){
countO++;
}
}
// printf("%d %d\n",countX,countO);
// printf("first\n");
if(countO == 3){
printf("O win\n");
return 0;
}else if (countX == 3){
printf("X win\n");
return 0;
}
}
for (int i = 0; i < 3; ++i) {
countO = countX = 0;
for (int j = 0; j < 3; ++j) {
if(a[j][i] == '*'){
countX++;
}else if(a[j][i] == 'O'){
countO++;
}
}
// printf("second\n");
// printf("%d %d\n",countX,countO);
if(countO == 3){
printf("O win\n");
return 0;
}else if (countX == 3){
printf("X win\n");
return 0;
}
}
for (int i = 0,countO = countX = 0; i < 3; ++i) {
if(a[i][i] == '*'){
countX++;
}else if(a[i][i] == 'O'){
countO++;
}
// printf("third\n");
// printf("%d %d\n",countX,countO);
if(countO == 3){
printf("O win\n");
return 0;
}else if (countX == 3){
printf("X win\n");
return 0;
}
}
for (int i = 0,countO = countX = 0; i < 3; ++i) {
if(a[i][2-i] == '*'){
countX++;
}else if(a[i][2-i] == 'O'){
countO++;
}
// printf("fourth\n");
// printf("%d %d\n",countX,countO);
if(countO == 3){
printf("O win\n");
return 0;
}else if (countX == 3){
printf("X win\n");
return 0;
}
}
return 0;
}

井字棋判断输赢C的更多相关文章
- [C++] 井字棋游戏源码
TicTac.h #define EX 1 //该点左鼠标 #define OH 2 //该点右鼠标 class CMyApp : public CWinApp { public: virtual B ...
- [游戏学习22] MFC 井字棋 双人对战
>_<:太多啦,感觉用英语说的太慢啦,没想到一年做的东西竟然这么多.....接下来要加速啦! >_<:注意这里必须用MFC和前面的Win32不一样啦! >_<:这也 ...
- JavaScript写的一个带AI的井字棋
最近有一门课结束了,需要做一个井字棋的游戏,我用JavaScript写了一个.首先界面应该问题不大,用html稍微写一下就可以.主要是人机对弈时的ai算法,如何使电脑方聪明起来,是值得思考一下的.开始 ...
- python3 井字棋 GUI - 人机对战、机器对战 (threading、tkinter库)
python3 井字棋 GUI - 人机对战.机器对战 功能 GUI界面 人机对战(可选择机器先走) 机器对战(50局) 流程图 内核 棋盘 [0][1][2] [3][4][5] [6][7][8] ...
- 使用 Vue.js 改写 React 的官方教程井字棋
React 的官方教程井字棋很好的引导初学者一步步走进 React 的世界,我想类似的教程对 Vue.js 的初学者应该也会有启发,于是使用 Vue.js 进行了改写 可以先查看最终的结果,尝试点击体 ...
- 用C语言实现井字棋(人人/AI人机)--完结版
目录 用C语言实现井字棋(人人/AI人机)--完结版 BUG与优化3: 1. 修改了step的计算方法,每个玩家玩完就加一次step 2. 改变了电脑下棋的逻辑,每个玩家玩完之后都跳过这次循环 源码: ...
- [CareerCup] 17.2 Tic Tac Toe 井字棋游戏
17.2 Design an algorithm to figure out if someone has won a game oftic-tac-toe. 这道题让我们判断玩家是否能赢井字棋游戏, ...
- 程序设计入门—Java语言 第五周编程题 2井字棋(5分)
2 井字棋(5分) 题目内容: 嗯,就是视频里说的那个井字棋.视频里说了它的基本思路,现在,需要你把它全部实现出来啦. 你的程序先要读入一个整数n,范围是[3,100],这表示井字棋棋盘的边长.比如n ...
- python 井字棋(Tic Tac Toe)
说明 用python实现了井字棋,整个框架是本人自己构思的,自认为比较满意.另外,90%+的代码也是本人逐字逐句敲的. minimax算法还没完全理解,所以参考了这里的代码,并作了修改. 特点 可以选 ...
- python 游戏(井字棋)
1. 游戏思路和流程图 实现功能,现实生活中的井字棋玩法 游戏流程图 2. 使用模块和游戏提示 import random def game_info(): print('欢迎来到井字棋游戏') pr ...
随机推荐
- Delphi针对双字节字段处理
针对有些特殊的中文字如"错畸形安氏I类"中""字,属于特殊字符,在Oracle数据库中必须以双字节方式存储,字段定义为nVarchar2(100). 在Delp ...
- MySQL表操作(下篇)--完整性约束
一.介绍 约束条件与数据类型的宽度一样,都是可选参数 作用:用于保证数据的完整性和一致性主要分为: PRIMARY KEY (PK) 标识该字段为该表的主键,可以唯一的标识记录FOREIGN KEY ...
- vim多视窗操作
命令行模式下输入:sp 1.txt 打开新的水平分屏视窗来编辑1.txt 命令行模式下输入:vsp 2.txt 打开新的垂直分屏视窗来编辑2.txt 普通模式下Ctrl+w s 将当前窗口分割成两个水 ...
- R7-3 十六进制字符串转换成十进制非负整数
R7-3 十六进制字符串转换成十进制非负整数 分数 15 全屏浏览题目 切换布局 作者 颜晖 单位 浙大城市学院 输入一个以#结束的字符串,滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六 ...
- JavaScript 基础学习(一)
JavaScript基础学习(一) 一.JavaScript概述 JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件 ...
- Kubernetes Service发布
一.定义Service 1-1.首先创建一个Deployment 类型nginx #定义Deployment类型nginx yaml文件 apiVersion: apps/v1 kind: Deplo ...
- K8s网络策略
Network Policy(网络策略) 默认情况下,k8s集群网络是没有任何限制的,Pod可以和任何其他Pod通信,在某些场景下需要做网络控制,减少网络面的攻击,提高安全性,就会用到网络策略(Net ...
- js实现大文件上传——分片上传方法
当前端在开发过程中遇到上传文件需求,如果是上传头像.图片小文件之类的,可以正常按上传流程处理.但是当遇到上传大文件需求时,几个G或者十几个G,那么需要将这么大的文件分割成许多小片段分别上传,这种实现思 ...
- gRPC中protobuff type和C# type原生标量对应表
查看Microsoft官方文档: Create Protobuf messages for .NET apps | Microsoft Docs
- WDA学习(19):UI Element:Table使用
1.12 UI Element:Table使用 1.Table Filter and Sort 1.1创建Context节点; NODE_SFLIGHT, FILTER_COL:CARRID,CONN ...