C语言程序源代码中国象棋.docx

上传人:b****3 文档编号:10953736 上传时间:2023-05-28 格式:DOCX 页数:18 大小:16.49KB
下载 相关 举报
C语言程序源代码中国象棋.docx_第1页
第1页 / 共18页
C语言程序源代码中国象棋.docx_第2页
第2页 / 共18页
C语言程序源代码中国象棋.docx_第3页
第3页 / 共18页
C语言程序源代码中国象棋.docx_第4页
第4页 / 共18页
C语言程序源代码中国象棋.docx_第5页
第5页 / 共18页
C语言程序源代码中国象棋.docx_第6页
第6页 / 共18页
C语言程序源代码中国象棋.docx_第7页
第7页 / 共18页
C语言程序源代码中国象棋.docx_第8页
第8页 / 共18页
C语言程序源代码中国象棋.docx_第9页
第9页 / 共18页
C语言程序源代码中国象棋.docx_第10页
第10页 / 共18页
C语言程序源代码中国象棋.docx_第11页
第11页 / 共18页
C语言程序源代码中国象棋.docx_第12页
第12页 / 共18页
C语言程序源代码中国象棋.docx_第13页
第13页 / 共18页
C语言程序源代码中国象棋.docx_第14页
第14页 / 共18页
C语言程序源代码中国象棋.docx_第15页
第15页 / 共18页
C语言程序源代码中国象棋.docx_第16页
第16页 / 共18页
C语言程序源代码中国象棋.docx_第17页
第17页 / 共18页
C语言程序源代码中国象棋.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言程序源代码中国象棋.docx

《C语言程序源代码中国象棋.docx》由会员分享,可在线阅读,更多相关《C语言程序源代码中国象棋.docx(18页珍藏版)》请在冰点文库上搜索。

C语言程序源代码中国象棋.docx

C语言程序源代码中国象棋

#include

#include

#include

#include

#include

#include"c:

\tc\LIB\1.c"

#defineW119

#defineS115

#defineA97

#defineD100

#definespace32

#defineUP72

#defineDOWN80

#defineLEFT75

#defineRIGHT77

#defineENTER13

voidqipan();

voidjiemian(int);

voidguangbiao1(int,int);

voidguangbiao2(int,int);

voidxuanzhong(int,int);

voidgaizi(int,int);

chararray(int,int);

voidxiazi(int,int,int,int);

/*intpanding(char,int,int,int,int);*/

main()

{

intgdriver,gmode,i=0,c=0,x=190,y=190,m,n;

charp;

FILE*fp;

gdriver=DETECT;

gmode=0;

if((fp=fopen("file.txt","at"))==NULL)

{

printf("Cannotopenfile!

");

system("pause");

exit(0);

}

printf("%d,%d",gdriver,gmode);

registerbgidriver(EGAVGA_driver);

initgraph(&gdriver,&gmode,"c:

\\tc");

cleardevice();

while(c!

=27)

{

c=getch();

clrscr();

jiemian(i);

if(c==80)

{

fputs("down",fp);

i++;

if(i==4)

{

i=0;

}

}

if(i==1)

{

if(c==13)

{

fputs("enter",fp);

qipan();

c=getch();

while(c!

=27)

{

c=getch();

if(c==115)

{

fputs("S",fp);

y=y+40;

guangbiao1(x,y);

guangbiao2(x,y-40);

}

if(c==119)

{

fputs("W",fp);

y=y-40;

guangbiao1(x,y);

guangbiao2(x,y+40);

}

if(c==97)

{fputs("A\n",fp);

x=x-40;

guangbiao1(x,y);

guangbiao2(x+40,y);

}

if(c==100)

{fputs("D\n",fp);

x=x+40;

guangbiao1(x,y);

guangbiao2(x-40,y);

}

if(c==13)

{

fputs("enter\n",fp);

xuanzhong(x,y);

m=x;n=y;

}

if(c==32)

{

fputs("space\n",fp);

xiazi(m,n,x,y);

fputs("gaizi\n",fp);

gaizi(m,n);

}

if(x>350||y>390||x<30||y<30)

{

x=190;y=30;

}

}

}

}

}

getch();

closegraph();

fclose(fp);

restorecrtmode();

return0;

}

voidqipan()

{

inti,j;

setbkcolor(GREEN);

cleardevice();

setlinestyle(0,0,3);

setcolor

(1);

rectangle(10,10,370,410);

rectangle(30,30,350,390);

for(i=1;i<8;i++)

{

setlinestyle(0,0,3);

line(i*40+30,30,i*40+30,190);

line(i*40+30,230,i*40+30,390);

}

for(j=1;j<9;j++)

{

setlinestyle(0,0,3);

line(30,j*40+30,350,j*40+30);

}

setlinestyle(3,0,3);

line(150,30,230,110);

line(230,30,150,110);

line(150,310,230,390);

line(230,310,150,390);

setusercharsize(4,1,2,1);

settextstyle(1,0,4);

outtextxy(70,195,"chinesechess");

red_shuai(190,30);

red_shi(150,30);

red_shi(230,30);

red_xiang(110,30);

red_xiang(270,30);

red_ma(70,30);

red_ma(310,30);

red_ju(30,30);

red_ju(350,30);

red_pao(70,110);

red_pao(310,110);

red_bing(30,150);

red_bing(110,150);

red_bing(190,150);

red_bing(270,150);

red_bing(350,150);

black_jiang(190,390);

black_shi(150,390);

black_shi(230,390);

black_xiang(110,390);

black_xiang(270,390);

black_ma(70,390);

black_ma(310,390);

black_ju(30,390);

black_ju(350,390);

black_pao(70,310);

black_pao(310,310);

black_zu(30,270);

black_zu(110,270);

black_zu(190,270);

black_zu(270,270);

black_zu(350,270);

setcolor(BLUE);

rectangle(400,30,600,320);

setcolor(4);

settextstyle(1,0,2);

outtextxy(420,50,"A->shuaiB->shi");

outtextxy(420,80,"C->xiangD->ma");

outtextxy(420,110,"E->juF->pao");

outtextxy(420,140,"G->bing");

setcolor(8);

outtextxy(420,200,"H->jiangI->shi");

outtextxy(420,230,"J->xiangK->ma");

outtextxy(420,260,"L->juM->pao");

outtextxy(420,290,"N->zu");

}

voidjiemian(inti)

{

setbkcolor(GREEN);

cleardevice();

settextstyle(1,0,8);

setcolor(BLUE);

outtextxy(50,70,"chinesechess");

settextstyle(0,0,3);

setcolor(RED);

outtextxy(260,215,"start");

outtextxy(260,255,"again");

outtextxy(260,295,"undo");

outtextxy(260,335,"exit");

rectangle(250,210+i*40,390,240+i*40);

}

voidguangbiao1(intx,inty)

{

setcolor(WHITE);

setlinestyle(0,0,3);

line(x-17,y-7,x-17,y-17);

line(x-7,y-17,x-17,y-17);

line(x+7,y-17,x+17,y-17);

line(x+17,y-7,x+17,y-17);

line(x-7,y+17,x-17,y+17);

line(x-17,y+7,x-17,y+17);

line(x+17,y+7,x+17,y+17);

line(x+7,y+17,x+17,y+17);

}

voidguangbiao2(intx,inty)

{

setcolor(GREEN);

setlinestyle(0,0,3);

line(x-17,y-7,x-17,y-17);

line(x-7,y-17,x-17,y-17);

line(x+7,y-17,x+17,y-17);

line(x+17,y-7,x+17,y-17);

line(x-7,y+17,x-17,y+17);

line(x-17,y+7,x-17,y+17);

line(x+17,y+7,x+17,y+17);

line(x+7,y+17,x+17,y+17);

}

voidxuanzhong(intx,inty)

{

setcolor(CYAN);

setlinestyle(0,0,3);

circle(x,y,15);

}

voidgaizi(intx1,inty1)

{

setlinestyle(0,0,3);

setcolor(GREEN);

circle(x1,y1,15);

setfillstyle(0,3);

floodfill(x1,y1,GREEN);

setcolor

(1);

setlinestyle(0,0,3);

if((30

{

line(x1-18,y1,x1+18,y1);

line(x1,y1,x1,y1+18);

}

if((30

{

line(x1-18,y1,x1+18,y1);

line(x1,y1-18,x1,y1);

}

if((30

{

line(x1,y1,x1+18,y1);

line(x1,y1-18,x1,y1+18);

}

if((30

{

line(x1-18,y1,x1,y1);

line(x1,y1-18,x1,y1+18);

}

if((x1==30)&&(y1==30))

{

line(x1,y1,x1+18,y1);

line(x1,y1,x1,y1+18);

}

if((x1==350)&&(y1==30))

{

line(x1-18,y1,x1,y1);

line(x1,y1,x1,y1+18);

}

if((x1==30)&&(y1==390))

{

line(x1,y1,x1+18,y1);

line(x1,y1,x1,y1-18);

}

if((x1==350)&&(y1==390))

{

line(x1,y1,x1-18,y1);

line(x1,y1,x1,y1-18);

}

else

{

line(x1-18,y1,x1+18,y1);

line(x1,y1-18,x1,y1+18);

}

}

chararray(inti,intj)

{

chara[13][13];

intc,b;

c=i;

b=j;

for(c=1;c<10;c++)

{

for(b=1;b<11;b++)

{

a[c][b]='Z';

}

}

a[1][5]='A';a[1][4]='B';a[1][6]='B';a[1][3]='C';a[1][7]='C';a[1][2]='D';a[1][8]='D';a[1][1]='E';a[1][9]='E';

a[3][2]='F';a[3][8]='F';a[4][1]=a[4][3]=a[4][5]=a[4][7]=a[4][9]='G';

a[10][5]='H';a[10][4]='I';a[10][6]='I';a[10][3]='J';a[10][7]='J';a[10][2]='K';a[10][8]='K';a[10][1]='L';a[10][9]='L';

a[2][3]='M';a[8][3]='M';a[7][1]=a[7][3]=a[7][5]=a[7][7]=a[7][9]='N';

returna[i][j];

}

voidxiazi(intx6,inty6,intx7,inty7)

{

switch(array(y6/40+1,x6/40+1))

{

case'A':

red_shuai(x7,y7);

break;

case'B':

red_shi(x6,y7);

break;

case'C':

red_xiang(x7,y7);

break;

case'D':

red_ma(x7,y7);

break;

case'E':

red_ju(x7,y7);

break;

case'F':

red_pao(x7,y7);

break;

case'G':

red_bing(x7,y7);

break;

case'H':

black_jiang(x7,y7);

break;

case'I':

black_shi(x7,y7);

break;

case'J':

black_xiang(x7,y7);

break;

case'K':

black_ma(x7,y7);

break;

case'L':

black_ju(x7,y7);

break;

case'M':

black_pao(x7,y7);

break;

case'N':

black_zu(x7,y7);

break;

case'Z':

gaizi(x6,x6);

break;

}

}

/*

intpanding(charq,intx,inty,inta,intb)

{

switch(q)

{

case'A':

if(y>110||x>230||x<150||(a-x)>40||(x-a)>40||(y-b)>40||(b-y)>40)

return0;

else

return1;

break;

case'B':

if(((x-a)==40&&(y-b)==40)&&y<=110&&230x>150)

return1;

else

return0;

break;

case'C':

if((((x-a)==80&&(y-b)==80)&&y<=190)&&(array((y+b)/2/40+1,(x+a)/2/40+1,)=='Z')))||(((a-x)==80&&(b-y)==80)&&y<=190)&&(array((y+b)/2/40+1,(x+a)/2/40+1)=='Z'))))

return1;

else

return0;

break;

case'D':

if((((x-a)==80&&(y-b)==40&&(array(y/40+1,(x-40)/40+1)=='Z'))||(((a-x)==80&&(b-y)==40)&&(array(y/40+1,(x+40)/40+1)=='Z'))||(((x-a)==40&&(y-b)==80)(array((y-40)/40+1,x/40+1)=='Z'))||(((a-x)==40&&(b-y)==80)&&(array((y+40)/40+1,x/40+1)=='z

'))))

return1;

else

return0;

break;

case'E':

return1;

break;

case'F':

return1;

break;

case'G':

if(y<190)

{

if(y>b||x!

=a)

{

return0;

}

else

return1;

}

else

{

if((b-y)>40||(a-x)>40||(x-a)>40||y>b)

{

return0;

}

else

return1;

}

break;

case'H':

if(y<310||x>230||x<150||(a-x)>40||(x-a)>40||(y-b)>40||(b-y)>40)

return0;

else

return1;

break;

case'I':

if(((x-a)==40&&(y-b)==40)&&y>=310&&230310&&230>x>150)

return1;

else

return0;

break;

case'J':

if(((((x-a)==80&&(y-b)==80)&&y>=230)&&array(((y+b)/2/40+1,(x+a)/2/40+1)=='Z')))||(((a-x)==80&&(b-y)==80)&&y>=230)&&(array((y+b)/2/40+1,(x+a)/2/40+1)=='Z'))))

return1;

else

return0;

break;

case'K':

if((((x-a)==80&&(y-b)==40&&(array(y/40+1,(x-40)/40+1)=='Z'))||(((a-x)==80&&(b-y)==40)&&(array(y/40+1,(x+40)/40+1)=='Z'))||(((x-a)==40&&(y-b)==80)(array((y-40)/40+1,x/40+1)=='Z'))||(((a-x)==40&&(b-y)==80)&&(array((y+40)/40+1,x/40+1)=='

Z'))

return1;

else

return0;

break;

case'L':

return1;

break;

case'M':

return1;

break;

case'N':

if(y>230)

{

if(y

=a)

{

return0;

}

else

return1;

}

else

{

if(y-b>40||(a-x)>40||(x-a)>40||y

{

return0;

}

else

return1;

}

default:

return0;

}

}*/

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2