超级简单五子棋小游戏(含代码)
五子棋简单功能实现
游戏功能演示
代码如下:
#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?'#':'@';}
}
超级简单五子棋小游戏(含代码)相关推荐
- C语言---简单五子棋小游戏
效果图如下: 设计思路: 棋盘设计为15×15格,初始状态光标在棋盘的中央,白棋先走,轮流落子,当一方连成五子或下满棋盘时,游戏结束(连成五子的一方获胜,下满棋盘为和棋).当游戏一方胜利后显示胜利信息 ...
- c语言编写五子棋小游戏ppt,C语言实现简单五子棋小游戏
五子棋简单功能实现,供大家参考,具体内容如下 游戏功能演示 代码如下: #include #include #include #include // 棋盘 char board[15][15]; // ...
- 自己做的一个超级简单的小游戏
自己做了一个简单的uniy3d小游戏 方向键控制一个小球躲避别的小球,撞到指定的墙胜利,被别的球撞到失败. 初学者练手 Player move Enemy move Islose_Trigger Sp ...
- cmd上写的java简单代码_用cmd编辑一个超级简单的小游戏,求代码
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 贪吃蛇: import java.awt.*; import java.util.LinkedList; import java.util.Scanner ...
- Linux下基于c++的简单五子棋小游戏
目录 一.五子棋项目介绍 1.游戏规则 2.五指棋界面显示 二. VT100简介 1.VT100控制码 2.前景颜色(字体颜色)设置 3. 背景颜色设置 三.配置头文件 四.棋子对象设计 1.棋子的抽 ...
- java五子棋小游戏含免费源码
让我先来从注册到登陆再到玩一局演示一下(本来想录制个GIF,但是录制出来的动图太大了,有几百兆,想想还是录视频,但是掘金目前还没有开发出传视频的功能,我就传在哔哩哔哩了)代码可以通过文章末尾方式获取 ...
- c++超级简单的小游戏(下)
来,我们接着搞双人对战 我也懒得写了 稍微改一下就好了 //头文件懒得写了自行脑补吧 int main(){int myblood = 100;//我的血量int hisblood = 100;//敌 ...
- C#语言实例源码系列--实现五子棋小游戏含人机AI-中
专栏分享 点击跳转=>Unity3D特效百例 点击跳转=>案例项目实战源码 点击跳转=>游戏脚本-辅助自动化 点击跳转=>Android控件全解手册
- 五子棋小游戏 java版(代码+详细注释)
游戏展示 这周闲来无事,再来写个五子棋小游戏.基本功能都实现了,包括人人对战.人机对战.界面布局和功能都写的还行,没做到很优秀,但也不算差.如有需要,做个java初学者的课程设计或者自 ...
最新文章
- [Android Training视频系列]2.2 Pausing and Resuming an Activity
- 【星云测试】开发者测试-采用精准测试工具对Spring Boot应用进行测试
- Oracle查询会话连接数
- 为什么同步的StringBuffer从来都不是一个好主意
- 【渝粤题库】广东开放大学 基础写作 形成性考核
- Android接口一般定义格式,Android开发规范
- 如何与Ansible共同托管GitHub和GitLab
- NET牛人应该知道些什么
- mssql日志处理事务日志处理
- java基础 super 子类调用父类
- CentOS/RHEL 7中的firewall控制
- Netty自带的心跳机制——IdleStateHandler
- 大型通用ERP生产管理系统源码
- android NDK的mk文件编写【1】—— 简单示例
- 水滴模式能否解惑10亿人口下沉市场?
- HHUOJ 1895 果冻豆
- 使用Glide加载圆角矩形图片、圆形图片
- 如何从YouTube历史记录中暂停,清除和删除视频
- 配置mpls vpn MCE组网
- 论文笔记——Aggregated Residual Transformations for Deep Neural Networks(ResNeXt)