900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > c语言案例游戏 C语言实现五子棋游戏的案例

c语言案例游戏 C语言实现五子棋游戏的案例

时间:2020-04-29 06:27:52

相关推荐

c语言案例游戏 C语言实现五子棋游戏的案例

C语言实现五子棋游戏的案例

发布时间:-08-25 09:35:55

来源:亿速云

阅读:120

作者:小新

小编给大家分享一下C语言实现五子棋游戏的案例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

五子棋简单功能实现具体内容如下

游戏功能演示

代码如下:

#include

#include

#include

#include

// 棋盘

char board[15][15];

// 棋子坐标

char kx = 7 , ky = 7;

// 角色

char role = '@';

// 显示棋盘

void show_board(void)

{

system("clear");

for(int i=0; i<15; i++)

{

for(int j=0; j<15; j++)

{

if(board[i][j])

{

printf(" %c",board[i][j]);

}

else

{

printf(" *");

}

}

printf("\n");

}

}

// 落子

void get_key(void)

{

printf(" -----------请%c落子-----------\n",role);

for(;;)

{

//通过光标下棋

printf("\33[%hhd;%hhdH",kx+1,(ky+1)*2);

switch(getch())

{

case 183: kx>0 && kx--; break;

case 184: kx<14 && kx++; break;

case 185: ky<14 && ky++; break;

case 186: ky>0 && ky--; break;

case 10: if(!board[kx][ky])

{

board[kx][ky] = role;

return;

}

}

}

}

int count_eqkey(int ox,int oy)

{

int count = 0;

for(int x=kx+ox,y=ky+oy; x>=0 && x<15 && y>=0 && y<15 &&

board[x][y]==board[kx][ky]; x+=ox,y+=oy)

{

count++;

}

return count;

}

// 检查五子

bool check_board(void)

{

if(count_eqkey(0,-1)+count_eqkey(0,1) >= 4)

return true;

if(count_eqkey(-1,0)+count_eqkey(1,0) >= 4)

return true;

if(count_eqkey(-1,-1)+count_eqkey(1,1) >= 4)

return true;

if(count_eqkey(-1,1)+count_eqkey(1,-1) >= 4)

return true;

return false;

}

int main()

{

for(;;)

{

show_board();

get_key();

if(check_board())

{

show_board();

printf("恭喜%c胜利,游戏结束!\n",role);

return 0;

}

role = '@'==role?'#':'@';

}

}

以上是C语言实现五子棋游戏的案例的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。