1、井字棋游戏源代码井字棋游戏源代码井字棋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 a33=0,0,0,0,0,0,0,0,0; int score33=0,0,0,0,0,0,0,0,0; c
2、har 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 a3); int jisuanji(); int xuanzeyouxi(); int bioskey(int cmd); xianka(); drawone(); if(key=bioskey(0)=ENTER) drawtwo(); key
3、=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,gr
4、aphmode; int driver=DETECT,mode; initgraph(&driver,&mode,); graphdriver=DETECT; initgraph(&graphdriver,&graphmode,); /*定义判赢函数*/ int pan_y(int a3) int n,b,c,i,j,k=2; for(i=0;i3;i+) n=ai0; b=ai1; c=ai2; if(n+b+c=3) k=1; if(n+b+c=-3) k=-1; for(j=0;j3;j+) n=a0j;b=a1j;c=a2j; if(n+b+c=3) k=1; if(n+b+c=-3)
5、 k=-1; n=a00; b=a11; c=a22; if(n+b+c=3) k=1; if(n+b+c=-3) k=-1; n=a02; b=a11; c=a20; if(n+b+c=3) k=1; if(n+b+c=-3) k=-1; if(a00!=0&a01!=0&a02!=0&a10!=0&a11!=0&a12!=0&a20!=0&a21!=0&a22!=0) k=0; return k; /*选择哪一方先下*/ int xuanze() key=bioskey(0); n=-1; while(key!=ENTER) if(key=up) setfillstyle(1,3); fl
6、oodfill(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;i6;i+) setcolor(i); settextstyle(0,HORIZ_DIR,i); outtextxy(250-43*i,80*i,W
7、elcome To You); 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); line(22,0,22,479); line(600,0,600,479); line(602,0,602,479); /*界面2*/ void drawtwo() cleardevice(); setbkcolo
8、r(2); setviewport(0,0,639,479,0); settextstyle(1,0,6); setfillstyle(1,12); rectangle(230,10,370,280); floodfill(150,350,13); settextstyle(1,0,5); setbkcolor(0); outtextxy(250,10,Jing); outtextxy(280,100,Zi); outtextxy(280,200,Qi); settextstyle(1,0,3); setcolor(0); outtextxy(250,300,Designed by: Zhan
9、g Kai Xuan); outtextxy(402,350,Yang Shao Hua); outtextxy(402,400,Ren Jian); /*界面3*/ void drawthree() cleardevice(); setbkcolor(14); setviewport(0,0,639,479,1); setfillstyle(1,2); setcolor(4); line(70,180,370,180); line(70,280,370,280); line(170,80,170,380); line(270,80,270,380); line(470,180,570,180
10、); rectangle(470,130,570,230); setfillstyle(1,3); floodfill(500,150,4); settextstyle(1,0,2); outtextxy(475,190,person); outtextxy(475,140,computer); settextstyle(3,0,1); outtextxy(468,260,person); circle(557,274,10); setfillstyle(1,13); floodfill(555,274,4); outtextxy(468,300,computer); circle(557,3
11、08,10); setfillstyle(1,3); floodfill(555,300,4); /*界面4*/ void drawfour() int i,x5=300,y5=200,r=100,x6=350,y6=200; cleardevice(); setbkcolor(8); setcolor(14); settextstyle(1,0,5); setviewport(0,0,639,479,0); for(i=0;i80) setcolor(14); circle(x1,y1,20); setcolor(4); circle(x,y,20); x1=x; y1=y; if(key=
12、down) x=x1; y=y1+100; if(y70) setcolor(14); circle(x1,y1,20); setcolor(4); circle(x,y,20); x1=x; y1=y; if(key=right) x=x1+100; y=y1; if(x370) setcolor(14); circle(x1,y1,20); setcolor(4); circle(x,y,20); x1=x; y1=y; key=bioskey(0); if(a(x1-120)/100(y1-130)/100=0) setfillstyle(1,13); floodfill(x1,y1,4
13、); d=(x1-120)/100; e=(y1-130)/100; ade=1; n=-1; else n=1; return n; /*计算机下棋*/ int jisuanji() for(i=0;i3;i+) for(j=0;j3;j+) if(aij!=0) scoreij=-2; for(i=0;i3;i+) m=ai0; p=ai1; q=ai2; if(m+p+q=2) if(m=0) scorei0=25; if(p=0) scorei1=25; if(q=0) scorei2=25; if(m+p+q=-2) if(m=0) scorei0=50; if(p=0) score
14、i1=50; if(q=0) scorei2=50; if(m+p+q=1) if(p=0 & q=0) scorei1=scorei2=8; if(m=0 & q=0) scorei0=scorei2=8; if(p=0 & p=0) scorei1=scorei0=8; if(m+p+q=-1) if(p=0 & q=0) scorei1=scorei2=10; if(m=0 & q=0) scorei0=scorei2=10; if(p=0 & m=0) scorei1=scorei0=10; if(m+p+q=0) if(m=0 & p=0 & q=0) scorei0=scorei1
15、=scorei2=4; /*end横*/ for(i=0;i3;i+) m=a0i; p=a1i; q=a2i; if(m+p+q=2) if(m=0) if(score0i25) score0i=25; if(p=0) if(score1i25) score1i=25; if(q=0) if(score2i25) score2i=25; if(m+p+q=-2) if(m=0) if(score0i50) score0i=50; if(p=0) if(score0i50) score1i=50; if(q=0) if(score0i50) score2i=50; if(m+p+q=1) if
16、(p=0 & q=0) if(score1i8) score1i=8; if(score2i8) score2i=8; if(m=0 & q=0) if(score0i8) score0i=8; if(score2i8) score2i=8; if(p=0 & m=0) if(score1i8) score1i=8; if(score0i8) score0i=8; if(m+p+q=-1) if(p=0 & q=0) if(score1i10) score1i=10; if(score2i10) score2i=10; if(m=0 & q=0) if(score0i10) score0i=1
17、0; if(score2i10) score2i=10; if(p=0 & m=0) if(score1i10) score1i=10; if(score0i10) score0i=10; if(m+p+q=0) if(m=0 & p=0 & q=0) if(score0i4) score0i=4; if(score1i4) score1i=4; if(score2i4) score2i=4; /*end竖*/ m=a00; p=a11; q=a22; if(m+p+q=2) if(m=0) if(score0025) score00=25; if(p=0) if(score1125) sco
18、re11=25; if(q=0) if(score2225) score22=25; if(m+p+q=-2) if(m=0) if(score0050) score00=50; if(p=0) if(score1150) score11=50; if(q=0) if(score2250) score22=50; if(m+p+q=1) if(p=0 & q=0) if(score118) score11=8; if(score228) score22=8; if(m=0 & q=0) if(score008) score00=8; if(score228) score22=8; if(p=0
19、 & m=0) if(score118) score11=8; if(score008) score00=8; if(m+p+q=-1) if(p=0 & q=0) if(score1110) score11=10; if(score2210) score22=10; if(m=0 & q=0) if(score0010) score00=10; if(score2210) score22=10; if(p=0 & m=0) if(score1110) score11=10; if(score0010) score00=10; if(m+p+q=0) if(m=0 & p=0 & q=0) i
20、f(score004) score00=4; if(score114) score11=4; if(score224) score22=4; /*斜扫描*/ m=a02; p=a11; q=a20; if(m+p+q=2) if(m=0) if(score0225) score02=25; if(p=0) if(score1125) score11=25; if(q=0) if(score2025) score20=25; if(m+p+q=-2) if(m=0) if(score0250) score02=50; if(p=0) if(score1150) score11=50; if(q=
21、0) if(score2050) score20=50; if(m+p+q=1) if(p=0 & q=0) if(score118) score11=8; if(score208) score20=8; if(m=0 & q=0) if(score208) score20=8; if(score028) score02=8; if(p=0 & m=0) if(score118) score11=8; if(score028) score02=8; if(m+p+q=-1) if(p=0 & q=0) if(score1110) score11=10; if(score2010) score2
22、0=10; if(m=0 & q=0) if(score0210) score02=10; if(score2010) score20=10; if(p=0 & m=0) if(score1110) score11=10; if(score0210) score02=10; if(m+p+q=0) if(m=0 & p=0 & q=0) if(score024) score02=4; if(score114) score11=4; if(score204) score20=4; /*斜扫描*/ h=k=1; for(i=0;i3;i+) for(j=0;jscorehk) h=i; k=j; x1=120+100*h; y1=130+100*k; circle(x1,y1,20); setfillstyle(1,3); floodfill(x1,y1,4); ahk=-1; n=1; for(i=0;i3;i+) for(j=0;j3;j+) scoreij=0; return n; /*重新开始游戏*/ int xuanzeyouxi() k
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1