• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

用C语言实现五子棋小游戏

c语言 搞代码 4年前 (2022-01-06) 21次浏览 已收录 0个评论

这篇文章主要为大家详细介绍了用C语言实现五子棋小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

简介

来源gao@daima#com搞(%代@#码@网次五子棋使用的是光标控制移动,通过按空格键(键值32)来落子,实现游戏的。
我们额外用到的头文件有:

#include
  通过调用getch()函数来识别 上下左右以及空格的操作。

#include
  采用 system(“clear”);清理屏幕,实现视觉上的走动效果。

include
stdbool.h 头文件对布尔类型进行了模拟
返回 true false

大致思路

需要的数据:(全局)

1、定义棋盘二维数组 15* 15 空位置 ‘ * ‘
2、定义棋子角色变量 白棋为 ‘ $ ‘ 黑棋为 ‘ @ ‘
3、定义变量用于记录下棋的位置

业务逻辑:(实现成一个个函数)

是否需要初始化

for( ; ; )
{
  1、清理屏幕、打印棋盘
  2、落子
     坐标合法、该位置不能有棋子,否则继续落子
  3、判断是否五子连珠
  4、交换角色
}

代码

 #include #include #include #include //定义棋盘 char board[15][15]; //角色 char role='@'; //落子坐标 char key_x=7,key_y=7; //棋盘初始化 void init_board(void) { for(int i=0;i<15;i++) { for(int j=0;j<15;j++) { board[i][j]='*'; } } } //打印棋盘 void show_board(void) { system("clear"); for(int i=0;i<15;i++) { for(int j=0;j0 && key_x--;break; //上,改变光标位置值 case 184:key_x0 && key_y--;break;//左 case 32:      //空格 if('*'==board[key_x][key_y]) //如果落子位置为空,落子 { board[key_x][key_y]=role; return; } } } } //记录落子位置某个方向,连子的个数 int count_board(int go_x,int go_y) { int count=0; for(int x=key_x+go_x,y=key_y+go_y; x>=0 && y>=0 && x<15 && y=4) { return true; } if(count_board(-1,-0)+count_board(1,0)>=4) { return true; } if(count_board(-1,-1)+count_board(1,1)>=4) { return true; } if(count_board(1,-1)+count_board(-1,1)>=4) { return true; } return false; } int main(int argc,const char* argv[]) { //初始化棋盘 init_board(); for(int i=0;i<255;i++) { //清屏,打印棋盘 show_board(); //落子 get_key(); //是否五子连珠 if(is_win()) { system("clear"); show_board(); printf("游戏结束,%c赢了\n",role); return 0; } //交换角色 role=role=='@'?'$':'@'; } }

效果图

以上就是用C语言实现五子棋小游戏的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:用C语言实现五子棋小游戏

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址