c语言五子棋源代码vc6,界面非常漂亮的五子棋源代码 也改到vc下了

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

sor.yes[i][j]==sor.yes[i+1][j+1]&&

sor.yes[i+1][j+1]==sor.yes[i+2][j+2]&&

sor.yes[i+2][j+2]==sor.yes[i+3][j+3]&&

sor.yes[i+3][j+3]==sor.yes[i+4][j+4])||

((i+4)4&&sor.yes[i][j]!=0&&

sor.yes[i][j]==sor.yes[i+1][j-1]&&

sor.yes[i+1][j-1]==sor.yes[i+2][j-2]&&

sor.yes[i+2][j-2]==sor.yes[i+3][j-3]&&

sor.yes[i+3][j-3]==sor.yes[i+4][j-4]))

{

if(sor.yes[i][j]==1)

sor.ok=1;

else

sor.ok=2;

break;

}

}

if(sor.ok!=0)

break;

}

}

void gameover(void)

{

if(sor.ok==1)

{

drawmat(bai64H,64,488,119,0);

drawmat(bai64H,64,490,120,RED);

}

else

{

drawmat(hong64H,64,488,119,0);

drawmat(hong64H,64,490,120,RED);

}

drawmat(fang64H,64,488,189,0);

drawmat(huo64H,64,488,259,0);

drawmat(sheng64H,64,488,329,0);

drawmat(fang64H,64,490,190,RED);

drawmat(huo64H,64,490,260,RED);

drawmat(sheng64H,64,490,330,RED);

}

void xandy(void)/*显示光标的横纵坐标*/

{

char str1[10],str2[10];

setfillstyle(SOLID_FILL,7);

bar(50,440,205,470);

setcolor(RGB(128,255,255));

sprintf(str1,"X:%d",(sor.x-30)/20);

sprintf(str2,"Y:%d",(sor.y-30)/20);

outtextxy(60,450,str1);

outtextxy(135,450,str2);

}

void gameplay(void)

{

for(i=1;i

for(j=1;j

sor.yes[i][j]=0;

sor.kao=1; /*白棋先走*/

sor.ok=0;/*双方胜负未分*/

sor.x=(N-1)*10+40;

sor.y=(N-1)*10+40;/*初始化光标,将光标定位在棋盘的中心*/

setcolor(WHITE);

place();

while(1)

{

xandy();

key=getch();

if(key==esc)

break;

/*白棋键盘移动*/

else if(key==up&&sor.y>50&&sor.kao==1)

{

setcolor(0);place();

sor.y-=20;

}

else if(key==down&&sor.y

{

setcolor(0);place();

sor.y+=20;

}

else if(key==left&&sor.x>50&&sor.kao==1)

{

setcolor(0);place();

sor.x-=20;

}

else if(key==right&&sor.x

{

setcolor(0);place();

sor.x+=20;

}

/*红方键盘移动*/

else if(key==W&&sor.y>50&&sor.kao==2)

{

setcolor(0);place();

sor.y-=20;

}

else if(key==S&&sor.y

{

setcolor(0);place();

sor.y+=20;

}

else if(key==A&&sor.x>50&&sor.kao==2)

{

setcolor(0);place();

sor.x-=20;

}

else if(key==D&&sor.x

{

setcolor(0);place();

sor.x+=20;

}

else if(key==space&&sor.yes[(sor.x-30)/20][(sor.y-30)/20]==0&&sor.kao==2)

{

setcolor(RGB(255,128,255));

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

{

circle(sor.x,sor.y,i);

Sleep(10);

}

sor.yes[(sor.x-30)/20][(sor.y-30)/20]=2;

sor.kao=1;

win();

if(sor.ok!=0)

{

gameover();

break;

}

}

else if(key==enter&&sor.yes[(sor.x-30)/20][(sor.y-30)/20]==0&&sor.kao==1)

{

setcolor(WHITE);

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

{

circle(sor.x,sor.y,i);

Sleep(10);

}

sor.yes[(sor.x-30)/20][(sor.y-30)/20]=1;

sor.kao=2;

win();

if(sor.ok!=0)

{

gameover();

break;

}

}

else

continue;

if(sor.ok!=0)

break;

if(sor.kao==1)

setcolor(WHITE);

else

setcolor(RGB(255,128,255));

place();

}/*endwhile(1)*/

}

void main()

{

while(1)

{

init();

cleardevice();

clew();

drawqp();

setfillstyle(SOLID_FILL,7);

bar(430,50,620,410);

show();

gameplay();

setcolor(WHITE);

outtextxy(230,450,"继续吗(Y/N)?");

while(1)

{

key=getch();

if(key==Y||key==n||key==esc)

break;

}

if(key==n||key==esc)

break;

}

closegraph();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值