井字棋游戏源代码Word格式.docx
- 文档编号:17410205
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:14
- 大小:16.72KB
井字棋游戏源代码Word格式.docx
《井字棋游戏源代码Word格式.docx》由会员分享,可在线阅读,更多相关《井字棋游戏源代码Word格式.docx(14页珍藏版)》请在冰豆网上搜索。
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();
}
drawsix();
getch();
drawfive();
v=xuanzeyouxi();
closegraph();
/*显卡驱动*/
voidxianka(){
intgraphdriver,graphmode;
intdriver=DETECT,mode;
initgraph(&
driver,&
mode,"
"
);
graphdriver=DETECT;
graphdriver,&
graphmode,"
/*定义判赢函数*/
intpan_y(inta[][3]){
intn,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<
j++){
n=a[0][j];
b=a[1][j];
c=a[2][j];
n=a[0][0];
b=a[1][1];
c=a[2][2];
n=a[0][2];
c=a[2][0];
if(a[0][0]!
=0&
&
a[0][1]!
a[0][2]!
a[1][0]!
a[1][1]!
a[1][2]!
a[
2][0]!
a[2][1]!
a[2][2]!
=0)
k=0;
returnk;
/*选择哪一方先下*/
intxuanze(){
n=-1;
while(key!
=ENTER){
if(key==up){
setfillstyle(1,3);
floodfill(471,150,4);
setfillstyle(1,14);
floodfill(471,200,4);
}
if(key==down){
floodfill(550,200,4);
n=1;
returnn;
/*界面1*/
voiddrawone(){
for(i=1;
6;
setcolor(i);
settextstyle(0,HORIZ_DIR,i);
outtextxy(250-43*i,80*i,"
WelcomeToYou"
setcolor(10);
settextstyle(0,VERT_DIR,2);
outtextxy(20,80,"
***HowDoYouDo***"
outtextxy(620,80,"
setcolor(13);
line(20,0,20,479);
line(22,0,22,479);
line(600,0,600,479);
line(602,0,602,479);
/*界面2*/
voiddrawtwo(){
cleardevice();
setbkcolor
(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,"
Designedby:
ZhangKaiXuan"
outtextxy(402,350,"
YangShaoHua"
outtextxy(402,400,"
RenJian"
/*界面3*/
voiddrawthree(){
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);
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,"
circle(557,274,10);
setfillstyle(1,13);
floodfill(555,274,4);
outtextxy(468,300,"
circle(557,308,10);
floodfill(555,300,4);
/*界面4*/
voiddrawfour(){
inti,x5=300,y5=200,r=100,x6=350,y6=200;
setbkcolor(8);
setcolor(14);
settextstyle(1,0,5);
for(i=0;
800;
x6=x5+r*cos(i*2*3.1415926/50);
y6=y5+r*sin(i*2*3.1415926/50);
setcolor(i%15);
line(x5,y5,x6,y6);
outtextxy(222,350,"
Loading....."
/*界面5*/
voiddrawfive(){
circle(120,240,30);
circle(115,225,4);
circle(135,225,4);
floodfill(115,225,2);
floodfill(135,225,2);
setfillstyle(1,7);
floodfill(120,240,2);
line(115,251,133,247);
settextstyle(1,0,1);
outtextxy(400,400,"
choosequitornewgame"
outtextxy(381,325,"
NEW"
outtextxy(480,325,"
QUIT"
if(o==-1)
outtextxy(200,230,"
Youlost!
Comeon!
if(o==1)
Youwin!
if(o==0)
DRAW!
circle(400,330,25);
circle(500,330,25);
setfillstyle(1,12);
floodfill(400,330,2);
/*界面6*/
voiddrawsix(){
setcolor
(2);
outtextxy(110,410,"
GAMEOVER!
/*人下棋*/
intrenzouqi(){
=ENTER)
x=x1;
y=y1-100;
if(y>
80){setcolor(14);
circle(x1,y1,20);
circle(x,y,20);
x1=x;
y1=y;
y=y1+100;
if(y<
380){setcolor(14);
if(key==left){
x=x1-100;
y=y1;
if(x>
70){setcolor(14);
if(key==right){
x=x1+100;
if(x<
370){setcolor(14);
if(a[(x1-120)/100][(y1-130)/100]==0){
floodfill(x1,y1,4);
d=(x1-120)/100;
e=(y1-130)/100;
a[d][e]=1;
elsen=1;
/*计算机下棋*/
intjisuanji(){
if(a[i][j]!
=0)score[i][j]=-2;
m=a[i][0];
p=a[i][1];
q=a[i][2];
if(m+p+q==2){if(m==0)score[i][0]=25;
if(p==0)score[i][1]=25;
if(q==0)score[i][2]=25;
if(m+p+q==-2){if(m==0)score[i][0]=50;
if(p==0)score[i][1]=50;
if(q==0)score[i][2]=50;
if(m+p+q==1){if(p==0&
q==0)
score[i][1]=score[i][2]=8;
if(m==0&
score[i][0]=score[i][2]=8;
if(p==0&
p==0)
score[i][1]=score[i][0]=8;
if(m+p+q==-1){if(p==0&
score[i][1]=score[i][2]=10;
score[i][0]=score[i][2]=10;
m==0)
score[i][1]=score[i][0]=10;
if(m+p+q==0){if(m==0&
p==0&
score[i][0]=score[i][1]=score[i][2]=4;
}/*end横*/
m=a[0][i];
p=a[1][i];
q=a[2][i];
if(m+p+q==2){if(m==0){if(score[0][i]<
25)score[0][i]=25;
if(p==0){if(score[1][i]<
25)score[1][i]=25;
if(q==0){if(score[2][i]<
25)score[2][i]=25;
if(m+p+q==-2){if(m==0){if(score[0][i]<
50)score[0][i]=50;
if(p==0){if(score[0][i]<
50)score[1][i]=50;
if(q==0){if(score[0][i]<
50)score[2][i]=50;
q==0){if(score[1][i]<
8)score[1][i]=8;
if(score[2][i]<
8)score[2][i]=8;
q==0){if(score[0][i]<
8)score[0][i]=8;
m==0){if(score[1][i]<
if(score[0][i]<
10)score[1][i]=10;
10)score[2][i]=10;
10)score[0][i]=10;
q==0){
4)score[0][i]=4;
if(score[1][i]<
4)score[1][i]=4;
4)score[2][i]=4;
}/*end竖*/
m=a[0][0];
p=a[1][1];
q=a[2][2];
if(m+p+q==2){if(m==0){if(score[0][0]<
25)score[0][0]=25;
if(p==0){if(score[1][1]<
25)score[1][1]=25;
if(q==0){if(score[2][2]<
25)score[2][2]=25;
if(m+p+q==-2){if(m==0){if(score[0][0]<
50)score[0][0]=50;
50)score[1][1]=50;
50)score[2][2]=50;
q==0){if(score[1][1]<
8)score[1][1]=8;
if(score[2][2]<
8)score[2][2]=8;
q==0){if(score[0][0]<
8)score[0][0]=8;
m==0){if(score[1][1]<
if(score[0][0]<
10)score[1][1]=10;
10)score[2][2]=10;
10)score[0][0]=10;
4)score[0][0]=4;
if(score[1][1]<
4)score[1][1]=4;
4)score[2][2]=4;
}/*斜扫描*/
m=a[0][2];
q=a[2][0];
if(m+p+q==2){if(m==0){if(score[0][2]<
25)score[0][2]=25;
if(q==0){if(score[2][0]<
25)score[2][0]=25;
if(m+p+q==-2){if(m==0){if(score[0][2]<
50)score[0][2]=50;
50)score[2][0]=50;
if(score[2][0]<
8)score[2][0]=8;
q==0){if(score[2][0]<
if(score[0][2]<
8)score[0][2]=8;
if(m+p+q==-1){
10)score[2][0]=10;
q==0){if(score[0][2]<
10)score[0][2]=10;
4)score[0][2]=4;
4)score[2][0]=4;
/*斜扫描*/
h=k=1;
i++){
j++){
if(score[i][j]>
score[h][k]){
h=i;
k=j;
}}}
x1=120+100*h;
y1=130+100*k;
a[h][k]=-1;
j++)
score[i][j]=0;
/*重新开始游戏*/
intxuanzeyouxi(){
k
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 井字棋 游戏 源代码