c语言中国象棋设计图形界面,c语言图形编程自制象棋.docx

c 语言图形编程自制象棋

用 C 语言做个象棋是不容易的, 涉及到的知识点有很多方面, C 语言里面的基本数据类型、运算符、顺序,分支,循环结构。还有运用到数组,函数,指针,以及我们的位运算等。做出来的象棋程序,自然的话代码也不少的,下面的

话我就发一部分吧,把棋盘的话,棋子的代码写出来,自然

的话,各位都需要自己找好素材,以及我们的编译器要用到

图形库的,记得安装好。下面我就把棋盘的代码发出来在下

/**************************************************/

* 函数 :/* 功能 :/* 参数 :/* 返

回:/************************************************ */#include 'stdio.h'#include 'stdlib.h'#include 'graphics.h'#include 'conio.h'void qipan();void baizi();void mouse();void baiqi(int x,int y,char *q);huazi(int x,int

y,char*s);panduanzouqi(int a,int b); // 判断是否可走子,a,b 代

表棋盘 90 个位置的之前点的和后点的位置的标记 IMAGE t[14]; // 存棋子(图片)地址的数组 ,t[0]~t[6] 依次是黑卒到黑将,t[7]~t[13] 依次是红兵到红帥 IMAGE tt[3];IMAGE jt[90]; //

存棋盘各个位置截图的数组struct zuobiao // 棋盘所有位置的

信息 {int x;int y;char zt[5]; //当前位置的状态是什么棋子,或

者为空 int id; //1 为黑子, 2 为红子 int bj;}zb[90];int r;struct

huiqi // 悔棋 {int x;int y;char zt[5];int id;int b;}hq[270];int

h=0;int oo=3;int main(){initgraph(640,

480);loadimage(&t[0],_T('img//卒.jpg'));// 读取图片文件

loadimage(&t[1],_T('img//黑

炮.jpg'));loadimage(&t[2],_T('img// 黑

車.jpg'));loadimage(&t[3],_T('img// 黑马.jpg'));loadimage(&t[4],_T('img// 黑象.jpg'));loadimage(&t[5],_T('img//

士.jpg'));loadimage(&t[6],_T('img//

将.jpg'));loadimage(&t[7],_T('img//

兵.jpg'));loadimage(&t[8],_T('img//

炮.jpg'));loadimage(&t[9],_T('img//

車.jpg'));loadimage(&t[10],_T('img//

马.jpg'));loadimage(&t[11],_T('img//

相.jpg'));loadimage(&t[12],_T('img//

仕.jpg'));loadimage(&t[13],_T('img//

帥.jpg'));loadimage(&tt[0],_T('img// 开始游戏.jpg'));loadimage(&tt[1],_T('img// 悔

棋.jpg'));loadimage(&tt[2],_T('img// 退出游

戏.jpg'));qipan();baizi();mouse();//setbkcolor(BLACK);getch();c

losegraph();return 0;}void baiqi(int x,int y,char *q)//悔棋重绘

{if(strcmp(q,' 卒')==0){putimage(x,y,&t[0]);}if(strcmp(q,'

黑炮

')==0){putimage(x,y,&t[1]);}if(strcmp(q,'

黑車

')==0){putimage(x,y,&t[2]);}if(strcmp(q,'

黑马

')==0){putimage(x,y,&t[3]);}if(strcmp(q,'

黑象

')==0){putimage(x,y,&t[4]);}if(strcmp(q,'

')==0){putimage(x,y,&t[5]);}if(strcmp(q,'

')==0){putimage(x,y,&t[6]);}if(strcmp(q,'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值