井字棋判断输赢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 ...
随机推荐
- debian最小化安装+sway记录
1. 最小化安装系统,只安装最基础的系统,如果是虚拟机中安装,安装SSH服务器可能更方便在宿主机终端操作客户机.deiban的安装器里有提供基础工具包的安装项,如果为了系统纯净不安装,可能会导致更多不 ...
- C++内存泄漏——原因、避免以及定位
https://bbs.huaweicloud.com/blogs/351858
- 【git】3.4 git分支-分支开发工作流
资料来源 (1) https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E5%BC%80%E5%8F%91% ...
- Nginx负载均衡4种方案
1.轮询 轮询即Round Robin,根据Nginx配置文件中的顺序,依次把客户端的Web请求分发到不同的后端服务器. 配置的例子如下:http{ upstream sampleapp { ...
- qgis中的时间格式化函数
为方便自己查询,尤其是年月日等在不同编程语言直接的差异,就从官方doc中截图放这
- wpf treeview 选中节点加载数据并绑定
<TreeView Grid.Row="0" Grid.Column="0" x:Name="FolderView" Canvas.T ...
- 解决-装了WPS后Windows无法预览word、Excel、PPT等的问题
https://www.bilibili.com/read/cv10469054/ https://www.cnblogs.com/qq3285862072/p/15097970.html Windo ...
- 如何修改vagrant系统的root用户密码
1. 先使用vagrant 用户登录. 2. $sudo passwd root #按照提示输入两次新的密码,并加以确认. 然后就可以修改root用户密码
- Day21 21.2:CrawlSpider-redis分布式爬虫
CrawlSpider-redis分布式 分布式在日常开发中并不常用,只是一个噱头! 概念: 可以使用多台电脑搭建一个分布式机群,使得多台对电脑可以对同一个网站的数据进行联合且分布的数据爬取. 声明: ...
- 光纤加速卡第410篇:基于XCVU9P+ C6678的40G光纤的加速卡 光纤的加速卡 无线通信
光纤加速卡第410篇:基于XCVU9P+ C6678的40G光纤的加速卡 光纤的加速卡 无线通信 基于XCVU9P+ C6678的40G光纤的加速卡 一.板卡概述 二.技术指标 • 板卡为自定义 ...