五子棋简单功能实现

游戏功能演示

代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <getch.h>
// 棋盘
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?'#':'@';}
}

超级简单五子棋小游戏(含代码)相关推荐

  1. C语言---简单五子棋小游戏

    效果图如下: 设计思路: 棋盘设计为15×15格,初始状态光标在棋盘的中央,白棋先走,轮流落子,当一方连成五子或下满棋盘时,游戏结束(连成五子的一方获胜,下满棋盘为和棋).当游戏一方胜利后显示胜利信息 ...

  2. c语言编写五子棋小游戏ppt,C语言实现简单五子棋小游戏

    五子棋简单功能实现,供大家参考,具体内容如下 游戏功能演示 代码如下: #include #include #include #include // 棋盘 char board[15][15]; // ...

  3. 自己做的一个超级简单的小游戏

    自己做了一个简单的uniy3d小游戏 方向键控制一个小球躲避别的小球,撞到指定的墙胜利,被别的球撞到失败. 初学者练手 Player move Enemy move Islose_Trigger Sp ...

  4. cmd上写的java简单代码_用cmd编辑一个超级简单的小游戏,求代码

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 贪吃蛇: import java.awt.*; import java.util.LinkedList; import java.util.Scanner ...

  5. Linux下基于c++的简单五子棋小游戏

    目录 一.五子棋项目介绍 1.游戏规则 2.五指棋界面显示 二. VT100简介 1.VT100控制码 2.前景颜色(字体颜色)设置 3. 背景颜色设置 三.配置头文件 四.棋子对象设计 1.棋子的抽 ...

  6. java五子棋小游戏含免费源码

    让我先来从注册到登陆再到玩一局演示一下(本来想录制个GIF,但是录制出来的动图太大了,有几百兆,想想还是录视频,但是掘金目前还没有开发出传视频的功能,我就传在哔哩哔哩了)代码可以通过文章末尾方式获取 ...

  7. c++超级简单的小游戏(下)

    来,我们接着搞双人对战 我也懒得写了 稍微改一下就好了 //头文件懒得写了自行脑补吧 int main(){int myblood = 100;//我的血量int hisblood = 100;//敌 ...

  8. C#语言实例源码系列--实现五子棋小游戏含人机AI-中

    专栏分享 点击跳转=>Unity3D特效百例 点击跳转=>案例项目实战源码 点击跳转=>游戏脚本-辅助自动化 点击跳转=>Android控件全解手册

  9. 五子棋小游戏 java版(代码+详细注释)

    游戏展示         这周闲来无事,再来写个五子棋小游戏.基本功能都实现了,包括人人对战.人机对战.界面布局和功能都写的还行,没做到很优秀,但也不算差.如有需要,做个java初学者的课程设计或者自 ...

最新文章

  1. [Android Training视频系列]2.2 Pausing and Resuming an Activity
  2. 【星云测试】开发者测试-采用精准测试工具对Spring Boot应用进行测试
  3. Oracle查询会话连接数
  4. 为什么同步的StringBuffer从来都不是一个好主意
  5. 【渝粤题库】广东开放大学 基础写作 形成性考核
  6. Android接口一般定义格式,Android开发规范
  7. 如何与Ansible共同托管GitHub和GitLab
  8. NET牛人应该知道些什么
  9. mssql日志处理事务日志处理
  10. java基础 super 子类调用父类
  11. CentOS/RHEL 7中的firewall控制
  12. Netty自带的心跳机制——IdleStateHandler
  13. 大型通用ERP生产管理系统源码
  14. android NDK的mk文件编写【1】—— 简单示例
  15. 水滴模式能否解惑10亿人口下沉市场?
  16. HHUOJ 1895 果冻豆
  17. 使用Glide加载圆角矩形图片、圆形图片
  18. 如何从YouTube历史记录中暂停,清除和删除视频
  19. 配置mpls vpn MCE组网
  20. 论文笔记——Aggregated Residual Transformations for Deep Neural Networks(ResNeXt)

热门文章

  1. Sentinel-1A卫星数据下载
  2. 基因相关性(C语言)
  3. 修复 Rancher 2.5.x 内部证书过期导致无法启动的顽疾
  4. 游戏3D美术设计师前景怎么样?
  5. ISO26262第二版发布
  6. kmeans聚类目的干什么的_零基础学习Kmeans聚类算法的原理与实现过程
  7. 如何在Mac上安装IntelliJ IDEA
  8. 【QTdesigner】课时36.使用QTextEdit控件输入多行文本【pyqt5+QTdesigner模式】
  9. linux系统命令作业
  10. JS/Jquery 中移除子元素的问题