c语言编程两人对战五子棋,c语言写的五子棋人与人对战
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
#define m 30
int main (void)
{
int count;//计数器算横纵行的结果
int w,h;
int u;
int l;
int i,size;
int r[m][m] = {0};
int x, y;
int n;
char a[20],b[20];
printf ("请输入棋盘大小n\n");
scanf ("%d", &n);
if (n<=4 || n>m)
{
do
{
printf ("输入的棋盘大小:4
scanf ("%d", &n);
}while (n<=4 || n>m);
}
getchar ();
printf ("请输入玩家1姓名:\n");
gets(a);
printf ("请输入玩家2姓名:\n");
gets(b);
for ( i = 1, size = n*n;i <= size; i++)
{
if (i%2 == 1)
{
do
{
printf ("%s该你下棋了,第%d个棋子\n", a, i);
scanf ("%d%d", &x, &y);
if (x > m || x < 0)
{
do
{
printf ("0<=横坐标<=%d请重新输入横坐标\n", m);
scanf ("%d", &x);
}while (x>m || x<0);
}
if (y > m || y < 0)
{
do
{
printf ("0<=纵坐标<=%d请重新输入纵坐标\n", m);
scanf ("%d", &y);
}while (y < 0 || y > m);
}
}while ((r[x][y] == 1 && (printf ("这个位置上已经有棋子了,请重新输入\n")))|| r[x][y] == 2&& (printf ("这个位置上已经有棋子了,请重新输入\n")) );
r[x][y] = 1;
for (u = 0;u < n; u++)
{
for (l = 0;l < n;l++)
{
count = 0;
for (w = u,h = l;r[w][h] == 1 && h < n; h++)
count++;
if (count == 5)
{
printf ("%s是胜利者\n", a);
goto e;
count = 0;
for (w = u, h = l; r[w][h] == 1 && w < n; w++)
count ++;
if (count == 5)
{
printf ("%s是胜利者\n", a);
goto e;
}
count = 0;
for (w = u,h = l; r[w][h] == 1 && w < n && h
count++;
if (count == 5)
{
printf ("%s是胜利者\n", a);
goto e;
}
count = 0;
for (w =u ,h =l;r[w][h] == 1 && h > 0;h--)
count++;
if (count == 5)
{
printf ("%s是胜利者\n", a);
goto e;
}
}
}}
system("cls");
for (int j = n;j>=0;j--)
{
printf ("%-2d", j);
for (int k = 0;k < n;k++)
{
if (r[k][j] == 0)
printf ("╋");
else if(r[k][j] == 1)
printf ("○");
else if (r[k][j] == 2)
printf ("●"); }
printf ("\n");
}
printf (" ");
for (int k = 0;k < n;k++)
printf ("%-2d", k);
}
else if (i%2 == 0)
{
do
{
printf ("\n%s该你下棋了,第%d个棋子\n", b, i);
scanf ("%d%d", &x, &y);
if (x > m || x < 0)
{
do
{
printf ("0<=横坐标<=%d请重新输入横坐标\n", m);
scanf ("%d", &x);
}while (x>m || x<0);
}
if (y > m || y < 0)
{
do
{
printf ("0<=纵坐标<=%d请重新输入纵坐标\n", m);
scanf ("%d", &y);
}while (y < 0 || y > m);
}
}while ((r[x][y] == 1 && (printf ("这个位置上已经有棋子了,请重新输入\n")))|| r[x][y] == 2&& (printf ("这个位置上已经有棋子了,请重新输入\n")) );
r[x][y] = 2;
system("cls");
for (int j = n;j>=0;j--)
{
printf ("%-2d", j);
for (int k = 0;k < n;k++)
{
if (r[k][j] == 0)
printf ("╋");
else if(r[k][j] == 1)
printf ("○");
else if (r[k][j] == 2)
printf ("●");
}
printf ("\n");
}
printf (" ");
for (int k = 0;k < n;k++)
printf ("%-2d", k); printf ("\n");
count = 0;
for (u = 0;u < n; u++)
{
for (l = 0;l < n;l++)
{
count = 0;
for (w = u,h = l;r[w][h] == 2 && h < n; h++)
count++;
if (count == 5)
{
printf ("%s是胜利者\n", b);
goto e;
}
count = 0;
for (w = u, h = l; r[w][h] == 2 && w < n; w++)
count ++;
if (count == 5)
{
printf ("%s是胜利者\n", b);
goto e;
}
count = 0;
for (w = u,h = l; r[w][h] == 2 && w < n && h
count++;
if (count == 5)
{
printf ("%s是胜利者\n", b);
goto e;
}
count = 0;
for (w =u ,h =l;r[w][h] == 2 && h > 0;h--)
count++;
if (count == 5)
{
printf ("%s是胜利者\n", b);
goto e;
}
}}}}
e: for (int j = n;j>=0;j--)
{
printf ("%-2d", j);
for (int k = 0;k < n;k++)
{
if (r[k][j] == 0)
printf ("╋");
else if(r[k][j] == 1)
printf ("○");
else if (r[k][j] == 2)
printf ("●");
}
printf ("\n");
}
printf (" ");
for (int k = 0;k < n;k++)
printf ("%-2d", k); printf ("\n");
printf ("\a游戏愉快 ,Powered by Techmessager\n");
return 0;
}
c语言编程两人对战五子棋,c语言写的五子棋人与人对战相关推荐
- 8051单片机c语言编程模板,完美的8051单片机C语言编程模板.doc
完美的8051单片机C语言编程模板.doc <8051单片机C语言编程模板> [程序开始处的程序说明] /***************************************** ...
- 有没有c 或c语言的短期培训学校,根河学c语言编程,根河学c语言编程的学校,根河学c语言编程报个培训班怎么样...
根河学c语言编程,根河学c语言编程的学校,根河学c语言编程报个培训班怎么样 首页 > 软件 > 根河学c语言编程 作者:镀金池 发布时间:2017-11-30 11:02 另外,尽早调 ...
- c语言编程规范总结,【技术小记 | C语言】C 语言编程规范
image 欢迎大家访问我的个人博客:吴佳轶 | WuJiaYi,第一时间获取最新的文章. 规范制定说明 本套C语言编程规范为提高代码质量.便于维护.协同编码.可移植等特点而编写.要求所有参与编码人员 ...
- 红灯停绿灯行c语言编程,基于物联网应用的《C语言程序设计》教学模式研究
[摘要] 物联网是信息技术的最新发展发向,C语言程序设计又是物联网相关专业中的基础课,在物联网中的应用广泛,本文结合所任教的技工院校学生特点,在分析了C语言教学中存在的问题后,对C语言的教学模式进行了 ...
- 用C语言编程网上购物系统,华中科技大学C语言课程设计报告 -- 网上购物管理系统.pdf...
华中科技大学自动化学院 C 语言课程设计报告 网上购物管理系统 专 业:自 动 化 班 级:自动化1306 班 组 员: 指导教师:周纯杰 何顶新 彭刚 周凯波 完成时间:2014 年11 月7 日星 ...
- 单片机c语言编程入门下載,系列单片机C语言编程入门.pdf
系列单片机C语言编程入门.pdf 本文由c h e n j u n j u n j u n 3贡献 p d f 文档可能在WAP端浏览体验不佳.建议您优先选择TXT,或下载源文件到本机 查看. 维普资 ...
- 华为c语言编程规范_单片机开发之C语言编程基本规范
为了提高源程序的质量和可维护性,从而最终提高软件产品生产力,特编写此规范.本标准规定了程序设计人员进行程序设计时必须遵循的规范.本规范主要针对单片机编程语言和08编译器而言,包括排版.注释.命名.变量 ...
- c语言 方程改main的值_C语言编程笔记丨编写第一个C语言程序hello world,我教你哇...
如果用C语言输出:Hello,world!,该如何编写程序? **代码如下:** #include//包含标准库的信息 main()//定义名为main的函数,不接受参数值 {//main函数的语句都 ...
- c语言编程输出指定范围的素数,C语言输出范围内所有素数
用C语言输出100之间的所有质数 用C语言输出100之间的所有质数. 各位. 首先新建一个空白的c语言文件,引入头文件,头文件中包括math库,稍后会用到,建立主函数: 主函数上面新建一个判断素数的函 ...
- c8051f c语言编程,C8051F系列单片机开发与C语言编程
C8051F系列单片机开发与C语言编程 维普资讯 http://doc.xuehai.net 雎 A 21进行控制,这样可以选择不同的地址,进而控制的读写. S D1 5 E 6对应的内存和寄存器. ...
最新文章
- 华为正式发布5G商用芯片、5G终端!
- 【S操作】更新网络视频下载方法详细步骤,m3u8格式文件视频文件下载方法,gohls使用详细步骤...
- github使用个人总结
- java get方法不序列化_java常用序列化与反序列化方法
- python 约束与异常处理
- java: 程序包com.github.pagehelper不存在_Rust语言正在兴起,Java、Python、C的末日来临?...
- SAP License:SAP学习笔记-集成与核算
- 【毕业设计】jSP在线教学质量评价系统的设计与实现(源代码+论文)
- 怎样查找共享文件_计算机操作系统学习笔记(五):文件管理
- 蓝桥杯2017年第八届C/C++省赛C组第七题-Excel地址
- 字体和font-family对照表
- 程序员延寿指南-活着才能输出
- 【音视频基础】H264格式分析
- 【loj10064】黑暗城堡
- qt5版本管理git_Building Qt 5 from Git/zh
- 产品上线前,友谊的小船说翻就翻!
- 01.朴素贝叶斯介绍
- FastDFS监控中心安装
- Beyond Compare反编译插件提示转换错误
- 零知识证明:重要构造
热门文章
- c语言 int max,C语言 0x7fffffff是多少(也就是INT_MAX,首位是 0,其余都是1,f代表1111)...
- RISC-V 麻雀 D1s Buildroot 基本笔录
- 赛思互动:大数据能给企业带来什么
- Chrome - 下载离线安装包
- 西部数码虚拟主机支持thinkphp的/public/访问
- ng-zorro select 下拉框
- 摘要算法和加密算法区别
- 【基于vue写的select下拉框】
- 我:Redis内存数据满了导致宕机。CTO:你太无知了....一脸懵
- 链路聚合_【网络干货】链路聚合可靠性技术详解