📄 wuziqi.bak
字号:
// This is our Lesson
#define What 1
// if 1 then man and man if 2 then man and computer
#define GRAPH "d:\\tc3\\bgi"
// graphics
#include<stdio.h>
#include<iostream.h>
#include <graphics.h>
#include <conio.h>
#include <dos.h>
int xx[21],yy[21];
int xy[21][21];
int sex=1;
int isitwin(int with)
{
int i,j,n,isa,isb,isc,isd,ise,isf,isg,ish;
for(i=0;i<=20;i++)
for(j=0;j<=20;j++)
{
if(xy[i][j]==with)
{
isa=0;isb=0;isc=0;isd=0;ise=0;isf=0;isg=0;ish=0;
for(n=0;n<5;n++)
{
if(xy[i-n][j-n]==with) {isa++; if(isa==5) return(1);} else isa=0;
if(xy[i][j-n]==with) {isc++; if(isc==5) return(1);} else isc=0;
if(xy[i+n][j-n]==with) {isb++; if(isb==5) return(1);} else isb=0;
if(xy[i-n][j]==with) {isd++; if(isd==5) return(1);} else isd=0;
if(xy[i+n][j]==with) {ise++; if(ise==5) return(1);} else ise=0;
if(xy[i-n][j+n]==with) {isf++; if(isf==5) return(1);} else isf=0;
if(xy[i][j+n]==with) {isg++; if(isg==5) return(1);} else isg=0;
if(xy[i+n][j+n]==with) {ish++; if(ish==5) return(1);} else ish=0;
}
}
}
return(0);
}
class Line
{
public:
void Lt(int x,int y,int x1,int y1,int co,int co1)
{
setcolor(co);
line(x,y,x1,y);
line(x,y,x,y1);
setcolor(co1);
line(x1,y,x1,y1);
line(x,y1,x1,y1);
}
void Wg(int x,int y,int co)
{
int n;
setcolor(co);
for(n=0;n<=20;n++)
{
line(x,y+n*20,x+400,y+n*20);
line(x+n*20,y,x+n*20,y+400);
}
}
protected:
int ndd;
};
class QiZi // This is QiZi
{
public:
red(int x,int y)
{
int nn;
setcolor(4);
for(nn=0;nn<=8;nn++)
circle(x,y,nn);
setcolor(0);
circle(x,y,nn);
}
blue(int x,int y)
{
int nn;
setcolor(1);
for(nn=0;nn<=8;nn++)
circle(x,y,nn);
setcolor(0);
circle(x,y,nn);
}
protected:
int dsd;
};
putqizi(int x,int y,int with)
{
int lx=200,ly=40;
QiZi lqi;
if(with==1)
lqi.red(lx+x*20,40+y*20);
if(with==2)
lqi.blue(lx+x*20,40+y*20);
}
class Mouse
{
public:
void Hide()
{
union REGS in,ou;
in.x.ax=2;
int86(0x33,&in,&ou);
}
void Show()
{
union REGS in,ou;
in.x.ax=1;
int86(0x33,&in,&ou);
}
Mousexy(int *tmx,int *tmy,int *wi)
{
union REGS in,ou;
in.x.ax=3;
int86(0x33,&in,&ou);
*tmx=ou.x.cx;
*tmy=ou.x.dx;
*wi=ou.x.bx;
}
Mouqizixy( int *qx,int *qy)
{
int lx=200,ly=40;
int mx,my,bx;
Mousexy(&mx,&my,&bx);
if(bx==1)
{
*qx=(mx-lx-5)/20+1;
*qy=(my-ly-5)/20+1;
if(xy[*qx][*qy]==1||xy[*qx][*qy]==2);
else
{
if (sex%2==0)
{ xy[*qx][*qy]=1; Hide(); putqizi(*qx,*qy,1); Show(); }
else
{
if (What==1) { xy[*qx][*qy]=2; Hide(); putqizi(*qx,*qy,2); Show(); }
else
// Man And Computer.........
{
}
}
// delay(70);
sex++;
}
}
}
protected:
int lsd;
};
void main()
{
int gd,gm,mx=0,my=0,wi;
int i,j,key;
char *xx,*yy;
gd=DETECT;
initgraph(&gd,&gm,GRAPH);
setbkcolor(7);
Line lin;
Mouse Mou;
QiZi qi;
// xy[21][21]
for(i=1;i<=20;i++)
for(j=1;j<=20;j++)
xy[i][j]=0;
lin.Lt(10,10,getmaxx()-10,getmaxy()-10,8,15);
lin.Wg(200,40,4);
Mou.Show();
for(;;)
{
Mou.Mousexy(&mx,&my,&wi);
if(wi==1)
{
Mou.Mouqizixy(&mx,&my);
setcolor(1);
if (isitwin(1))
{
outtextxy(30,getmaxy()-50,"red Win");
outtextxy(40,200,"Game Over....");
delay(8003);
break;
}
if (isitwin(2))
{
outtextxy(30,getmaxy()-50,"Blue Win");
outtextxy(40,200,"Game Over....");
delay(8002); break;
}
Mou.Mouqizixy(&mx,&my);
// setcolor(2);
// sprintf(xx,"%d",isitwin(1));
// outtextxy(10,40+sex*10,xx);
// }
}
if(kbhit())
{
if (key=getch()==13)
{
closegraph();
for(i=0;i<=20;i++)
{ printf("\n");
for(j=0;j<=20;j++)
printf("%d ",xy[j][i]);
}
getch();
}
break;
}
} // for
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -