C语言编码中国象棋(包教包会)

本文介绍了如何使用C语言来编码实现中国象棋游戏。包括游戏界面展示和具体代码实现,旨在帮助读者理解C语言编程及游戏逻辑。同时提供C/C++交流学习的资源链接。
摘要由CSDN通过智能技术生成

 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)
            {
                mcolor = BLACK;
                //初始化第一行的棋子,
                if (i == 0)
           
  • 2
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值