井字棋判断输赢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 ...
随机推荐
- 操作系统实战45讲笔记- 05 CPU工作模式:程序执行的三种模式
实模式 实模式又称实地址模式,实,即真实,这个真实分为两个方面,一个方面是运行真实的指令,对指令的动作不作区分,直接执行指令的真实功能,另一方面是发往内存的地址是真实的,对任何地址不加限制地发往内存. ...
- html的table多级表头表格的代码
1,两级表头的代码 <html> <head> <title>多层表头</title> <link rel="stylesheet&qu ...
- Rust智能指针
Rust智能指针 https://course.rs/advance/smart-pointer/intro.html Box 堆对象分配 Box指针拥有内存对象的独占使用权 (一)使用场景 1. 使 ...
- insert image in mail instead of attachment
https://www.extendoffice.com/documents/outlook/3810-outlook-insert-images-inline.html Go ahead to cl ...
- Django Cannot assign "A1": "B1" must be a "C1" instance.
Django Cannot assign "A1": "B1" must be a "C1" instance. 原因:使用了外键 说明:如 ...
- 点击dgv某列的单元格时触发事件的方法
private void DataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (e.Colu ...
- 理解函数调用_使用arguments参数对所有函数参数执行操作
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- js中的对象方法中this指向问题
对象方法调用this所在函数fn的是b,所以this指向b,b.a1='hello a3' ,b没有a2属性,b.a2=undefinedvar a1='hello a1'var a2='hello ...
- Oracle深入数据库体系结构_第三章文件
构成数据库和实例的8种主要文件类型: 参数文件:(init file) 可以通过视图V$PARAMETER(show parameter)查看 跟踪文件 警告文件 数据文件 临时文件 控制文件 重做日 ...
- vim ctrl+s 不能再操作
vim下编写代码不自觉按到Ctrl+S,此时vim就不能再操作了.发现vim下Ctrl+S是阻止之后的输入,可通过Ctrl+Q来解除.