井字棋游戏源代码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

井字棋C语言源代码#include

#include

#include

#include

#include

#include

#define ENTER 0x1c0d

#define esc 0x11b

#define up 0x4800

#define down 0x5000

#define left 0x4b00

#define right 0x4d00

int i,j,x1,y1,v,n,m,key,d,e,p,q,h,o,x,y,k;

int a[3][3]={0,0,0,0,0,0,0,0,0};

int score[3][3]={0,0,0,0,0,0,0,0,0};

char s [30];

int main()

{

void drawone();

void drawtwo();

void drawthree();

void drawfour();

void drawfive();

void drawsix();

void xianka();

int renzouqi();

int xuanze();

int py( int a[][3]);

int jisuanji();

int xuanzeyouxi();

int bioskey(int cmd);

xianka();

drawone();

if((key=bioskey(0))==ENTER)

drawtwo();

key=bioskey(0);

if(key==ENTER)

drawfour();

v=1;

while(v==1){

drawthree();

n=xuanze();

x1=220; y1=230;

circle(220,230,20);

o=pan_y(a);

while(o==2) {

if(n==1)

n=renzouqi();

if(n==-1)

n=jisuanji();

o=pan_y(a);

}

drawsix();

getch();

drawfive();

v=xuanzeyouxi();

}

closegraph();

}

/*显卡驱动*/

void xianka(){

int graphdriver,graphmode;

int driver=DETECT,mode;

initgraph(&driver,&mode,"");

graphdriver=DETECT;

initgraph(&graphdriver,&graphmode,""); }

/*定义判赢函数*/

int pan_y(int a[][3]){

int n,b,c,i,j,k=2;

for(i=0;i<3;i++){

n=a[i][0]; b=a[i][1]; c=a[i][2];

if(n+b+c==3) k=1;

if(n+b+c==-3) k=-1;

}

for(j=0;j<3;j++){

n=a[0][j];b=a[1][j];c=a[2][j];

if(n+b+c==3) k=1;

if(n+b+c==-3) k=-1;

}

n=a[0][0]; b=a[1][1]; c=a[2][2];

if(n+b+c==3) k=1;

if(n+b+c==-3) k=-1;

n=a[0][2]; b=a[1][1]; c=a[2][0];

if(n+b+c==3) k=1;

if(n+b+c==-3) k=-1;

if(a[0][0]!=0&&a[0][1]!=0&&a[0][2]!=0&&a[1][0]!=0&&a[1][1]!=0&&a[1][2]!=0&&a[ 2][0]!=0&&a[2][1]!=0&&a[2][2]!=0)

k=0;

return k;

}

/*选择哪一方先下*/

int xuanze(){

key=bioskey(0);

n=-1;

while(key!=ENTER){

if(key==up){

setfillstyle(1,3);

floodfill(471,150,4);

setfillstyle(1,14);

floodfill(471,200,4);

n=-1; }

if(key==down){

setfillstyle(1,14);

floodfill(471,150,4);

setfillstyle(1,3);

floodfill(550,200,4);

n=1; }

key=bioskey(0);

}

return n;

}

/*界面1*/

void drawone() {

for(i=1;i<6;i++){

setcolor(i);

settextstyle(0,HORIZ_DIR,i);

outtextxy(250-43*i,80*i,"Welcome To Y ou");}

setcolor(10);

settextstyle(0,VERT_DIR,2);

outtextxy(20,80,"*** How Do You Do ***");

settextstyle(0,VERT_DIR,2);

outtextxy(620,80,"*** How Do You Do ***");

setcolor(13);

line(20,0,20,479);

相关文档
最新文档