中国象棋C语言-人人对弈(仅显示头文件)

这是一个使用C语言实现的中国象棋人机对弈系统,包括棋盘绘制、棋子操作、游戏规则判断等功能。程序通过结构体定义棋子和游戏状态,并实现了棋谱的栈管理,支持翻转棋盘、悔棋和将军判断等高级功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

高手勿喷,谢谢!

#pragma once

#include<graphics.h>

#include<stdio.h>

#define length 60

#define center 25

//其他文件中需要调用的全局变量

extern int place[10][9];

typedef struct Chessman

{

 int id;//棋子类型

 IMAGE photo;//棋子贴图

} Chessman; // DE

 

typedef struct Data

{

 bool flip_mod; //记录自身是否是在翻转棋盘后产生的结点

 int set[4]; //记录移动位置[0][1]是落子点[2][3]是原点

 Chessman* self_p = NULL;//记录自身

 Chessman* eat_p = NULL; //记录吃子

}Data;

 

typedef struct Sta

{ //记录棋谱的栈

 Data* data = NULL;

 struct Sta* next = NULL;

}SNode, * Stack;

 

void ClearStack(Stack& S); //清空一个栈

 

void Pop(Stack& S, Data*& e); //出栈

 

void Read(Stack& S, Data*& e); //取栈顶元素

 

void Push(Stack& S, Data* e); //入栈

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值