- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
//
// main.c
// 象棋
// 車马相仕帅仕相马車
// 十十十十十十十十十
// 十炮十十十十十炮十
// 兵十兵十兵十兵十兵
// 十十十十十十十十十
// --楚河-汉界--
// 十十十十十十十十十
// 卒十卒十卒十卒十卒
// 十炮十十十十十炮十
// 十十十十十十十十十
// 車马象士将士象马車
// Created by tarena121 on 15/8/12.
// Copyright (c) 2015年 Tarena. All rights reserved.
//
#include stdio.h
#include stdbool.h
#include math.h
#include stdlib.h
#define R(piece) \033[31m#piece\033[0m//红色棋子
#define B(piece) \033[30m#piece\033[0m//黑色棋子
#define CROSS \033[33m十\033[0m
//定义外部变量,棋盘坐标
char* array[11][9];
int xi,yi;//要移动的棋子
int xj,yj;//移动的目标位置
bool isStandard = 1;//是否符合规则,初始值1,符合
bool gameOverSign = 1;//游戏是否结束,0结束
bool restart = 0;
//生成棋盘
void chessboardBuilding();
//打印棋盘
void printChessboard();
//判断是红棋还是黑棋,红旗返回1,黑棋返回-1,否则返回0
int redOrBlack(int x,int y);
//红棋移动
void redMove();
//黑棋移动
void blackMove();
//每种棋子的规则
void rulesOfAllKindsOfChessPieces();
//判断游戏结束
void isGameOver();
//**************************主函数******************************
int main()
{
//生成棋盘
chessboardBuilding();
//打印棋盘
printChessboard();
//开始下棋
int turn = -1;
while (gameOverSign) {
isStandard = 1;
turn *= (-1);//双方交替下棋
switch (turn) {
case 1:
redMove();
turn = (restart) ? (turn*-1) : turn;
break;
case -1:
blackMove();
turn = (restart) ? (turn*-1) : turn;
break;
}
isGameOver();
}
printf(游戏结束!\n);
}//主函数结束
//*************************自定义函数*****************************
//生成棋盘
void chessboardBuilding()
{
for (int i = 0; i 11; i ++) {
for (int j = 0; j 9 ; j ++) {
array[i][j] = CROSS;
}
printf(\n);
}
array[5][0] = array[5][1] = array[5][4] = array[5][7] = array[5][8] = -;
array[5][2] = B(楚);
array[5][3] = B(河);
array[5][5] = B(汉);
array[5][6] = B(界);
//布置红棋
array[0][0] = array[0][8] = R(車);
array[0][1] = array[0][7] = R(马);
a
您可能关注的文档
- 2015全省领导干部网上法律知识学习和考试题库(含答案)教程解析.doc
- 2015全省学法用法无纸化考试武汉考区复习题教程解析.doc
- 2015全县义务教育均衡发展迎验档案整理要求(定稿)(教程解析.doc
- 2015人大代表述职教程解析.doc
- 2015人音版四年级下册音乐已改好的的教程解析.doc
- 2015山东省华医网好医生继续教育公共课程《实用急救技术》试题答案教程解析.doc
- 2015山东省继续教育《实用现场急救技术》完全题库及答案教程解析.doc
- 2015山东省卫生计生系统人员针对性普法考试答案(汇总)按字母排序满分答案教程解析.doc
- 2015山东省卫生计生系统人员针对性普法考试题库与答案教程解析.doc
- 2015山东省卫生计生系统针对性普法考试(医护类)答案99.9%包含教程解析.doc
最近下载
- photoshop实验指导书..doc VIP
- 文献阅读与数学写作:微积分的创立与发展++课件-2024-2025学年高二下学期数学人教A版(2019)选择性必修第二册.pptx VIP
- TPM全员生产维护培训课件(课件-36张).ppt VIP
- 《全国食品安全监督抽检实施细则》复习测试卷附答案.doc
- 一种铁电负电容晶体管的电路仿真模型及建模方法.pdf VIP
- 《智慧化税费申报与管理》教案 项目八 资源税和环境保护税智慧化申报与管理.docx VIP
- 建筑法培训课件.ppt VIP
- 铜陵铜化集团招聘考试试题.pdf
- 食品抽检复习试题有答案.doc
- 2025年秋季《南京照相馆》开学第一课主题班会课件.pptx VIP
文档评论(0)