本文主要是介绍C语言编码中国象棋(包教包会),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
C语言编码中国象棋
1:效果图
2:直接上代码
/*
环境:vs2013+easyx
*/
#include<stdio.h>
#include<graphics.h>
#define INTERVAL 50 //前面的间隔
#define CHESS_GRID_SIZE 70 //格子宽度
#define ROW 10
#define COL 9
enum PIECES//枚举棋子
{
車,馬,象,士,将,砲,卒,
俥,马,相,仕,帥,炮,兵,
SPACE,BEGIN,END
};
//红黑方棋子、
int redChess[] = { 車, 馬, 象, 士, 将, 砲, 卒};
int blackChess[] = { 俥, 马, 相, 仕, 帥, 炮, 兵 };
const char*chessName[] = { "車", "馬", "象", "士", "将", "砲", "卒", "俥", "马", "相", "仕", "帥", "炮", "兵" };
struct Chess//棋子属性
{
int x;
int y;
int id;//哪个棋子
int type;//是哪一方的棋子 红,黑?
bool river;//判断小兵是否过了河
};
struct Chess map[ROW][COL];//结构体数组,用来保存每一个点的信息
POINT begin = { -1, -1 }, end = { -1, -1 };//保存前后两次点击的数组下标
int state = BEGIN;
//初始化游戏数据
void GameInit()
{
for (int i = 0; i < ROW; i++)
{
for (int k = 0; k < COL; k++)
{
int chessname = SPACE;
int mcolor = BLACK;
//黑棋
if (i <= 4)
{
这篇关于C语言编码中国象棋(包教包会)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!