level 11
wxzwsj197950
楼主
#include<stdio.h>
#include<graphics.h>
#include<stdlib.h>
#include<conio.h>
int p1_qipan[20][20]={0};
int p2_qipan[20][20]={0};
int player=1;
void hua_qi_pan(void)
{
initgraph(400,400);
int x=40,y=0;
while(x<=400)
{
line(x,y,x,400);
x+=40;
}
x=0;y=40;
while(y<=400)
{
line(x,y,400,y);
y+=40;
}
}
int judgeWin(int qi_pan[20][20]);
void GameOver(int winPlay)
{
if(winPlay==1)
outtextxy(150,200,"玩家一获胜");
if(winPlay==2)
outtextxy(150,200,"玩家二获胜");
getch();
}
int main(void)
{
hua_qi_pan();
while(1)
{
while(player==1)
{
setfillstyle(RED);
MOUSEMSG m;
m=GetMouseMsg();
if(m.mkLButton==true)
{
if(m.x%40!=0||m.y%40!=0)
{
if(m.x%40<=20)
{
m.x=m.x-m.x%40;
}
if(m.y%40<=20)
{
m.y=m.y-m.y%40;
}
if(m.x%40>20)
{
m.x=m.x-m.x%40+40;
}
if(m.y%40>20)
{
m.y=m.y-m.y%40+40;
}
}
if(p2_qipan[m.x/20][m.y/20]==0)
{
fillcircle(m.x,m.y,18);
p1_qipan[m.x/20][m.y/20]=1;
player=2;
}
}
}
if(judgeWin(p1_qipan))
{
GameOver(1);
}
//////////////////////////////////////////////////////////////////
while(player==2)
{
setfillstyle(BLUE);
MOUSEMSG m;
m=GetMouseMsg();
if(m.mkLButton==true)
{
if(m.x%40!=0||m.y%40!=0)
{
if(m.x%40<=20)
{
m.x=m.x-m.x%40;
}
if(m.y%40<=20)
{
m.y=m.y-m.y%40;
}
if(m.x%40>20)
{
m.x=m.x-m.x%40+40;
}
if(m.y%40>20)
{
m.y=m.y-m.y%40+40;
}
}
if(p1_qipan[m.x/20][m.y/20]==0)
{
fillcircle(m.x,m.y,18);
p2_qipan[m.x/20][m.y/20]=1;
player=1;
}
}
}
if(judgeWin(p2_qipan))
{
GameOver(2);
}
/////////////////////////////////////////////////////////////
}
return 0;
}
int judgeWin(int qi_pan[20][20])
{
for(int x=0;x<=15;x++)
for(int y=0;y<=15;y++)
{
if(qi_pan[x][y]==1 && qi_pan[x+1][y]==1 && qi_pan[x+2][y]==1 && qi_pan[x
+3
][y]==1 && qi_pan[x+4][y]==1)
return 1;
if(qi_pan[x][y]==1 && qi_pan[x][y+1]==1 && qi_pan[x][y+2]==1 && qi_pan[x][y+3]==1 && qi_pan[x][y+4]==1)
return 1;
if(qi_pan[x][y]==1 && qi_pan[x+1][y+1]==1 && qi_pan[x+2][y+2]==1 && qi_pan[x+3][y+3]==1 && qi_pan[x+4][y+4]==1)
return 1;
}
return 0;
}