该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
int check_win(int player)
{
int s_x,s_y;
int x,y,num=0;
if(player == A)
{
for(x=0;x
{
for(y=0;y
{
if(board[x][y] > 0)
{
num++;
}
else
{
num=0;
}
if(num > 4)
{
return A;
}
}
}
for(y=0;y
{
for(x=0;x
{
if(board[x][y] > 0)
{
num++;
}
else
{
num=0;
}
if(num > 4)
{
return A;
}
}
}
for(x=0;x
{
for(y=0;y
{
if(board[x][y] > 0 && board[x+1][y+1] > 0
&& board[x+2][y+2] > 0 && board[x+3][y+3] > 0
&& board[x+4][y+4] > 0)
{
return A;
}
if( board[x][y] > 0 && board[x-1][y+1] > 0
&& board[x-2][y+2] > 0 && board[x-3][y+3] > 0
&& board[x-4][y+4] > 0)
{
return A;
}
}
}
}else if(player == B)
{
for(x=0;x
{
for(y=0;y
{
if(board[x][y]
{
num++;
}
else
{
num=0;
}
if(num >4)
{
return B;
}
}
}
for(y=0;y
{
for(x=0;x
{
if(board[x][y]
{
num++;
}
else
{
num=0;
}
if(num >4)
{
return B;
}
}
}
for(x=0;x
{
for(y=0;y
{
if(board[x][y]
&& board[x+2][y+2]
&& board[x+4][y+4]
{
return B;
}
if( board[x][y]
&& board[x-2][y+2]
&& board[x-4][y+4]
{
return B;
}
}
}
}
else
return 0;
}
/*aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa*/
void main()
{
int sure;
int A_x=0;
int A_y=0;
int B_x=0;
int B_y=0;
int A_select=0;
int B_select=0;
init_view();
do{
do
{
A_select=bioskey(0);
if(A_select == LEFT)
{
if(A_x > 0)
{
move_p(A_x-1,A_y,A_x,A_y);
--A_x;
}
}
else if(A_select == RIGHT)
{
if(A_x
{
move_p(A_x+1,A_y,A_x,A_y);
A_x++;
}
}
else if(A_select == UP)
{
if(A_y > 0)
{
move_p(A_x,A_y-1,A_x,A_y);
A_y--;
}
}
else if(A_select == DOWN)
{
if(A_y
{
move_p(A_x,A_y+1,A_x,A_y);
A_y++;
}
}
else if(A_select == ESC)
{
break;
}
else if(A_select == ENSURE)
{
setcolor(A);
sure=set_A(A_x,A_y);
if(check_win(A) == A)
{
setcolor(A);
outtextxy(280,220,"GREEN WIN");
getch();
cleardevice();
outtextxy(280,230,"RED GAME OVER");
getch();
closegraph();
return ;
}
}
else
{
;
}
}while(sure == 0 ||A_select != ENSURE);/*A to do*/
do
{
B_select=bioskey(0);
if(B_select == LEFT)
{
if(B_x > 0)
{
move_p(B_x-1,B_y,B_x,B_y);
--B_x;
}
}
else if(B_select == RIGHT)
{
if(B_x
{
move_p(B_x+1,B_y,B_x,B_y);
++B_x;
}
}
else if(B_select == UP)
{
if(B_y > 0)
{
move_p(B_x,B_y-1,B_x,B_y);
--B_y;
}
}
else if(B_select == DOWN)
{
if(B_y <14)
{
move_p(B_x,B_y+1,B_x,B_y);
++B_y;
}
}
else if(B_select == ESC)
{
break;
}
else if(B_select == ENSURE)
{
setcolor(B);
sure=set_B(B_x,B_y);
if(check_win(B) == B)
{
setcolor(B);
outtextxy(470,100,"RED WIN");
getch();
cleardevice();
outtextxy(280,230,"GREEN GAME OVER");
getch();
closegraph();
return ;
}
}
else
{
;
}
}while(sure == 0 ||B_select != ENSURE );/*B to do true loop*/
}while(A_select != ESC || B_select != ESC);/* esc */
cleardevice();
setcolor(WHITE);
outtextxy(280,230,"GAME OVER");
getch();
closegraph();
return ;
}