(原创)儿时四子棋程序(初步版)
来源:互联网 发布:linux怎么支持中文目录 编辑:程序博客网 时间:2024/05/16 18:56
纯原创,记下代码:
#include <iostream>#include <cstdlib>#include <cstring>using namespace std;//全局变量const char fuhao[11][4] = { "┌", "┬", "┐", "├", "┼", "┤", "└", "┴", "┘", "○", "●" }; //画棋盘所用工具int qipan[4][4];int step = 1;void draw(int a[4][4]){cout << " 0 1 2 3" << endl;for (int i = 0; i <= 3; ++i){if (i != 0) cout << endl;cout << i;for (int j = 0; j <= 3; ++j){cout << fuhao[a[i][j]];}}cout << endl;}void move(int x,int y, char mov){if (qipan[x][y]!=step) cout << "请选择己方子进行移动!" << endl;else{if (mov == 'U'){if (x == 0) cout << "无法移动!" << endl;else{qipan[x][y] = 0;x--;qipan[x][y] = step;}}else if (mov == 'D'){if (x == 3) cout << "无法移动!" << endl;else{qipan[x][y] = 0;x++;qipan[x][y] = step;}}else if (mov == 'L'){if (y == 0) cout << "无法移动!" << endl;else{qipan[x][y] = 0;y--;qipan[x][y] = step;}}else if (mov == 'R'){if (y == 3) cout << "无法移动!" << endl;else {qipan[x][y] = 0;y++;qipan[x][y] = step;}}else{cout << "请输入正确方向!" << endl;}}}void chizi(int qipan[4][4]){for (int i = 0; i <= 3; i++){if (qipan[i][0] == -step && qipan[i][1] == step && qipan[i][2] == step && qipan[i][3] == 0){qipan[i][0] = 0;}else if (qipan[i][0] == 0 && qipan[i][1] == -step && qipan[i][2] == step && qipan[i][3] == step){qipan[i][1] = 0;}else if (qipan[i][0] == step && qipan[i][1] == step && qipan[i][2] == -step && qipan[i][3] == 0){qipan[i][2] = 0;}else if (qipan[i][0] == 0 && qipan[i][1] == step && qipan[i][2] == step && qipan[i][3] == -step){qipan[i][3] = 0;}}for (int j = 0; j <= 3; j++){if (qipan[0][j] == -step && qipan[1][j] == step && qipan[2][j] == step && qipan[3][j] == 0){qipan[0][j] = 0;}if (qipan[0][j] == 0 && qipan[1][j] == -step && qipan[2][j] == step && qipan[3][j] == step){qipan[1][j] = 0;}if (qipan[0][j] == step && qipan[1][j] == step && qipan[2][j] == -step && qipan[3][j] == 0){qipan[2][j] = 0;}if (qipan[0][j] == 0 && qipan[1][j] == step && qipan[2][j] == step && qipan[3][j] == -step){qipan[3][j] = 0;}}return;}int panduan(int qipan[4][4]){int sum = 0;for (int i = 0; i <= 3; i++){for (int j = 0; j <= 3; j++){if (qipan[i][j] == -step) sum++;}}if (sum <= 1) return 1;else return 0;}int main(){system("color 2f");system("mode con cols=50 lines=25");int a[4][4] ={0, 1, 1, 2,3, 4, 4, 5,3, 4, 4, 5,6, 7, 7, 8};int x, y;char mov;memset(qipan, 0, sizeof(qipan));a[0][0] = a[0][1] = a[0][2] = a[0][3] = 9, a[3][0] = a[3][1] = a[3][2] = a[3][3] = 10;qipan[0][0] = qipan[0][1] = qipan[0][2] = qipan[0][3] = -1, qipan[3][0] = qipan[3][1] = qipan[3][2] = qipan[3][3] = 1;draw(a);cout << "请输入所移动棋子与移动方向(棋子为数字,方向为“U,D,L,R”):" << endl;while (cin >> x >> y >> mov){system("cls");move(x, y, mov);chizi(qipan);if (panduan(qipan)){cout << "宝贝儿我赢了!" << endl;break;}int a[4][4] ={0, 1, 1, 2,3, 4, 4, 5,3, 4, 4, 5,6, 7, 7, 8};for (int i = 0; i <= 3; i++){for (int j = 0; j <= 3; j++){if (qipan[i][j] == 1)a[i][j] = 10;else if(qipan[i][j] == -1)a[i][j] = 9;}}draw(a);cout << "请输入所移动棋子与移动方向(棋子为数字,方向为“U,D,L,R”):" << endl;step = -step;}cout << "谢谢使用" << endl;system("Pause>nul");return 0;}
0 0
- (原创)儿时四子棋程序(初步版)
- ibatis初步(原创)
- 从11月11号开始我要将我儿时的梦想初步完成(2009年的回忆)
- (六一儿童节篇)渐行渐远的儿时游戏
- 又一个Perl的程序(原创)
- 原创(俄罗斯套娃程序)
- (原创)oracle中调用JAVA程序
- 【原创】【程序小游戏】迷宫(版本1)
- 【原创】我看面向对象之[第一节]初步理解面向对象(姚铸)
- 转贴:网易的用人理念(不用丢掉儿时的梦想)
- “黑客”常问问题解答-摘自《如何成为一名黑客》(儿时的想法)
- 为赋新词强说愁之一(儿时的那些事儿啊)
- 齐河方言(唤起了儿时的记忆……天真快乐着)
- Python3:《机器学习实战》之决策树算法(2)画个儿时的树
- [原创]MFC框架程序WINMAIN函数分析(一)
- 在用户程序中使用linux内核list(原创)
- [原创]WEBQQ,与QQ通信程序演示(开源)
- 查找输出类型对应的程序名(原创)
- 开启mysql远程连接
- sql1
- 稻壳首页index.php添加站点名和搜索代码
- 四---指针
- PHP将pdf文件转换成swf文件
- (原创)儿时四子棋程序(初步版)
- 8 Reasons why SharePoint is Bad for Your Business 8个理由告诉你,为什么SharePoint对你的业务有害
- 五---面向对象和类
- Spring事务管理只对出现运行期异常进行回滚
- 稻壳CMS如何替换栏目标题
- qt 事件机制(事件分发、posted、send)
- 根据IP得到所在城市
- iOS解析--自动无限循环UIScrollView原理
- Android图片处理(Matrix,ColorMatrix)