该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include

#include

#include "string.h"

#include

#include

#include

int seat[20][20];

int usr;

struct GotoXy_xy

{

int GotoXy_temp[100][3];

}GotoXy_xy;

void HideCursor(int n) /*隐藏光标*/

{

CONSOLE_CURSOR_INFO cursor_info={1,n};

SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info);

}

void GotoXy(int x,int y) /*将光标移到(x,y)*/

{

HANDLE hout;

COORD coord;

coord.X=x;

coord.Y=y;

hout=GetStdHandle(STD_OUTPUT_HANDLE);

SetConsoleCursorPosition(hout,coord);

}

void init()

{

int i,j;

usr=0;

GotoXy(0,0);

for(i=0;i<20;i++)

{

for(j=0;j<20;j++)

seat[i][j]=0;

}

printf("%2c",' ');

for(i=0;i<20;i++)

printf("%3.2d",i);

printf("\n");

for(i=0;i<20;i++)

{

printf("%3.2d",i);

for(j=0;j<20;j++)

printf("· ");

printf("\n");

}

GotoXy(68,7);

printf("欢迎使用!");

GotoXy(66,9);

printf("五子棋小游戏");

GotoXy(68,11);

printf("by 熊清熹");

GotoXy(68,13);

printf("2015.3.4");

}

int osheng()

{

int i,j;//判断横着的5个是否都相等

for(i=0;i<20;i++)

{

for(j=0;j<16;j++)

if(seat[i][j]==1&&seat[i][j+1]==1&&seat[i][j+2]==1&&seat[i][j+3]==1&&seat[i][j+4]==1)

return 1;

}

for(j=0;j<20;j++)//判断竖着的5个是否都相等

{

for(i=0;i<16;i++)

if(seat[i][j]==1&&seat[i+1][j]==1&&seat[i+2][j]==1&&seat[i+3][j]==1&&seat[i+4][j]==1)

return 1;

}

for(i=0;i<16;i++)//判断左斜5个

{

for(j=0;j<16;j++)

if(seat[i][j]==1&&seat[i+1][j+1]==1&&seat[i+2][j+2]==1&&seat[i+3][j+3]==1&&seat[i+4][j+4]==1)

return 1;

}

for(i=0;i<16;i++)//右斜5个

{

for(j=19;j>3;j--)

if(seat[i][j]==1&&seat[i+1][j-1]==1&&seat[i+2][j-2]==1&&seat[i+3][j-3]==1&&seat[i+4][j-4]==1)

return 1;

}

return 0;

}

int xsheng()

{

int i,j;//判断横着的5个是否都相等

for(i=0;i<20;i++)

{

for(j=0;j<16;j++)

if(seat[i][j]==2&&seat[i][j+1]==2&&seat[i][j+2]==2&&seat[i][j+3]==2&&seat[i][j+4]==2)

return 1;

}

for(j=0;j<20;j++)//判断竖着的5个是否都相等

{

for(i=0;i<16;i++)

if(seat[i][j]==2&&seat[i+1][j]==2&&seat[i+2][j]==2&&seat[i+3][j]==2&&seat[i+4][j]==2)

return 1;

}

for(i=0;i<16;i++)//判断左斜5个

{

for(j=0;j<16;j++)

if(seat[i][j]==2&&seat[i+1][j+1]==2&&seat[i+2][j+2]==2&&seat[i+3][j+3]==2&&seat[i+4][j+4]==2)

return 1;

}

for(i=0;i<16;i++)//右斜5个

{

for(j=19;j>3;j--)

if(seat[i][j]==2&&seat[i+1][j-1]==2&&seat[i+2][j-2]==2&&seat[i+3][j-3]==2&&seat[i+4][j-4]==2)

return 1;

}

return 0;

}

int he()

{

int i,j;

for( i=0;i<20;i++)

for( j=0;j<20;j++)

{

if(seat[i][j]==0)//当棋盘全部子都不是0时才能return 1,即棋盘已下满

return 0;

}

return 1;

}

void clear()

{

int i,j;

GotoXy(0,0);

for(i=0;i<61;i++)

{

for(j=0;j<20;j++)

printf(" ");

}

GotoXy(28,22);

printf(" ");

GotoXy(30,23);

printf(" ");

GotoXy(25,24);

printf(" ");

}

void main()

{

int M_x,M_y,P_x,P_y;

INPUT_RECORD inRec;

DWORD res;

HANDLE hInput = GetStdHandle(STD_INPUT_HANDLE); // 获取标准输入设备句柄

init();

HideCursor(0);

while(1)

{

if(usr==0)

{

GotoXy(28,22);

printf("当前下棋方:黑方");

}

else if(usr==1)

{

GotoXy(28,22);

printf("当前下棋方:白方");

}

else if(usr==2)

{

GotoXy(28,22);

printf("GAME OVER! ");

GotoXy(25,24);

printf("再来一局 退出");

}

ReadConsoleInput(hInput, &inRec, 1, &res);

if(inRec.EventType == MOUSE_EVENT && inRec.Event.MouseEvent.dwButtonState == FROM_LEFT_1ST_BUTTON_PRESSED) //鼠标左键

{

SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),inRec.Event.MouseEvent.dwMousePosition);

M_x=inRec.Event.MouseEvent.dwMousePosition.X;

M_y=inRec.Event.MouseEvent.dwMousePosition.Y;

if(M_x>=3&&M_x<=60&&M_y>=1&&M_y<=20)

{

if(((M_x-3)%3)==0)

{

P_x=(M_x-3)/3;

P_y=M_y-1;

if(usr==0)

{

if(!seat[P_x][P_y])

{

usr=1;

printf("●");

seat[P_x][P_y]=1;

if(osheng())

{

GotoXy(30,23);

printf("黑棋胜!");

usr=2;

}

}

}

else if(usr==1)

{

if(!seat[P_x][P_y])

{

usr=0;

printf("○");

seat[P_x][P_y]=2;

if(xsheng())

{

GotoXy(30,23);

printf("白棋胜!");

usr=2;

}

}

}

if(he())

printf("平局!");

}

}

else if(M_x>=25&&M_x<=31&&M_y==24&&usr==2)

{

clear();

init();

}

else if(M_x>=37&&M_x<=39&&M_y==24&&usr==2)

{

GotoXy(25,9);

exit(1);

}

}

}

}

dw中HTML编写五子棋游戏,c语言写的鼠标操作的五子棋游戏,欢迎观赏!相关推荐

  1. c语言五子棋光标,c语言写的鼠标操作的五子棋游戏,欢迎观赏!

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #include "string.h" #include #include #include in ...

  2. c语言鼠标下棋,c语言写的鼠标操作的五子棋游戏,欢迎观赏!

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #include "string.h" #include #include #include in ...

  3. 五子棋 鼠标 C语言,c语言写的鼠标操作的五子棋游戏,欢迎观赏!

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #include "string.h" #include #include #include in ...

  4. c语言五子棋键盘操控,c语言写的鼠标操作的五子棋游戏,欢迎观赏!

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #include "string.h" #include #include #include in ...

  5. c语言迷宫闯关游戏大全,C语言写出的迷宫闯关游戏代码.doc

    C语言写出的迷宫闯关游戏代码 C语言写出的迷宫闯关游戏代码: #include #include #define LEFT 75 #define RIGHT 77 #define UPPER 72 # ...

  6. c语言鼠标环绕特效,C语言写的鼠标有残影,急需解决方案,在线等待!

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 c语言写的鼠标点击后留下鼠标的残影,求高手的解决方案,多谢了.代码如下: int x,y; union REGS r; void mouse() { in ...

  7. c 语言掷骰子游戏,C 语言编程学习: 制作掷骰子小游戏

    C 语言编程学习: 制作掷骰子小游戏 问题描述 骰子是一个有六个面的正方体, 每个面分别印有 16 之间的小圆点代表点数. 假设这个游戏的规则是: 两个人轮流掷骰子 6 次, 并将每次投掷的点数累加起 ...

  8. 好玩的c语言编程游戏,C语言写个贪吃蛇游戏

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 C语言写个贪吃蛇游戏 贪吃蛇是个非常经典的游戏,用C语言来实现也是一个好玩的事情.这个游戏我写完后放在知乎,竟然点赞的人数超级多.我觉得大家喜欢,一个方面 ...

  9. 猜拳游戏c语言代码流程图,这是一个猜拳游戏的程序 大家有更好的解决方法么?...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include /* 显示程序的使用方法 */ void help() { printf("Usage : \nFind and/or rep ...

最新文章

  1. python延时一秒_python如何最快毫秒速度使用requests?
  2. iOS控件之UILabel
  3. ASP.NET Core中Ocelot的使用:基于服务发现的负载均衡
  4. POJ--3974 Palindrome(回文串,hash)
  5. java循环的概念_Java数据结构之循环队列简单定义与用法示例
  6. iptables 开放远程_远程FX正式上市 指导价11.99万-12.99万元_搜狐汽车
  7. 手机1像素线粗_关于移动端一像素线的解决方案
  8. twitter storm源码走读之2 -- tuple消息发送场景分析
  9. Python requests请求禁止跳转重定向(判断是否为原请求链接)
  10. Python学习(十)Python 函数
  11. Blockchair首席开发者质疑闪电网络能够扩展比特币:可锁定大部分闪电网络的流动性来破坏闪电网络
  12. springboot实体映射到数据库_SpringBoot 操作 ElasticSearch 详解
  13. 雪花算法生成一个id
  14. SQL Server Management Studio格式化SQL工具(可免费)
  15. 软件测试学习资料汇总
  16. visio如何使箭头指向插图的任意一处
  17. 飞行器制导与控制及其Matlab仿真
  18. 【EduCoder答案】HTML——表单类的标签
  19. 【浅墨著作】 OpenCV3编程入门 内容简介 勘误 配套源代码下载
  20. 如何绘制业务流程图?

热门文章

  1. QML应用动画(Applying Animations)
  2. 获取手机通讯录-----1.1(取出通讯录数据)
  3. 计算机丢失d3dx9_41.dll,d3dx9_41.dll(支持64位)
  4. 【Msfvenom 木马制作配合ettercap实现攻击】
  5. 解决The server time zone value ‘Öйú±ê׼ʱ¼ä‘ is unrecognized or represents more than one time zone问题
  6. 李开复、沈向洋的恩师:印度农村走出的图灵奖得主
  7. win7 CorelDRW9增强版补丁运行
  8. 罗斯蒙特3051产品故障
  9. 使用万能表单解析程序将表单数据封装成ListMap
  10. windows 安装 greenplum-loader