井字棋判断输赢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 ...
随机推荐
- how to make the windows console works with utf-8 encoded project
the console of the windows os is not working in the utf-8 encoding, by default. When you force your ...
- 【二】python学习总结
一i.python概念 python是一种解释型语言,速度比java慢 二.运算符和格式输出.导入 1.Python3 运算符 | 菜鸟教程 (runoob.com) 2.格式输出 % 和.form ...
- JS实现复制富文本到剪贴板/粘贴板的最佳实践
背景 最近有想实现一个功能,通过点击一个button按钮,来复制网页内容(含html)来实现复制后粘贴到邮件或者word具有富文本的效果.在网站翻了一些资料,要么就是方法已经被弃用,要么就是兼容性特别 ...
- ES bool查询
一.bool查询包含四种操作 1.must 2.must not 3.filter 4.should 二.功能 1.must 对应mysql的 and a= 2.must not 对应mysql的 a ...
- Ingress限流
先说结论: ingress节点数量=n0 ingress限流配置 nginx.ingress.kubernetes.io/limit-rps: "n1" nginx.ingre ...
- C#和.NET Framework 简介
C#是一种通用的类型安全且面向对象编程的语言.这种语言的目标是提高程序员的生产力,为此需要在简单性.可表达性和性能之间实现平衡.C#语言的首席架构师从第一个版本开始就是Anders Hejlsberg ...
- javaProject
import java.io.*; public class Print{ public static void main(String[] args) throws IOException { // ...
- vue _DAY1
一.VUE概念? Vue.js (打包工具Webpack) Vue.js 是最流行的前端框架(可以用于手机App开发,借助Weex) Vue.js 和 Angeular.React.js(React ...
- px、em、rem的区别css单位换算
在对页面进行自适应时,查阅相关资料了解到,通常有两种方式将px转换为em或者rem,下面就上述三者之间的联系进行讲解: em与px转换 一般浏览器默认1em=16px,通过设置font-size大小来 ...
- vue中key
使用key维护列表的状态 当列表的数据变化时,默认情况下,vue尽可能的服用已存在的DOM元素,从而提升渲染的性能.但这种默认的性能优化策略,会导致由状态的列表无法被正确更新. key的使用注意事项: ...