📄 wuziqi.cpp
字号:
line(100,y-20,380,y-20);
break;
}
move.Circle(x,y,9);
move.draw();
line(x,50,x,330);
line(100,y,380,y); //移动棋子。
if(exist(pane1,x,y)) //如果此处不存在棋子,执行下面的语句
{
if((ch2=getch())==32) //如果此处存在棋子并且按的是空格键,则执行下面的语句
{
player1.Circle(x,y,7);player1.draw(); //画出了玩家1的棋子
q=(x-100)/20+15*(y-50)/20; //把x,y坐标转化为棋子位置。
biaoji[q]=1; //给此点赋值
win1(); //判断是否玩家1赢棋。
pane1[a][0]=x;
pane1[a][1]=y;
a++; //给全局数组赋值
}
else //如果此处不存在棋子并且按的不是空格键,执行下面的语句
{
if(ch2=='q')
{
closegraph();
exit(1);
} //ch2为q键,退出游戏
if((ch2=='a')||(ch2=='s')||(ch2=='d')||(ch2=='x'))
{
ch1=ch2;
goto loop;
} //按的ch2为a,s,d,x键,回到loop处重新判断。
else
{
sound.sound1();
goto loop1;
}
}
}
else //此处存在棋子执行下面的语句
{
if((ch2=getch())==32) //如果按的是空格键,则发出声音,回到loop1处重新来过。
{
sound.sound1();
goto loop1;
}
else //如果按的不是空格键
{
if(ch2=='q') //ch2为q键,退出游戏
{
closegraph();
exit(1);
}
ch1=ch2; //否则把ch2赋給ch1,回到loop处重新判断
goto loop;
}
}
break;
case 'd': x=x+20;
if(x>380) //如果超出棋盘范围发出声音,重新走棋
{
x=x-20;
sound.sound1();
goto loop1;
}
cover.Circle(x-20,y,9);
cover.draw();
line(x-20,50,x-20,330);
line(100,y,380,y);
switch(ch2)
{
case 'a': cover.Circle(x+20,y,9);
cover.draw();
line(x+20,50,x+20,330);
line(100,y,380,y);
break;
case 'd': cover.Circle(x-20,y,9);
cover.draw();
line(x-20,50,x-20,330);
line(100,y,380,y);
break;
case 's': cover.Circle(x,y+20,9);
cover.draw();
line(x,50,x,330);
line(100,y+20,380,y+20);break;
case 'x': cover.Circle(x,y-20,9);
cover.draw();
line(x,50,x,330);
line(100,y-20,380,y-20);
break;
}
setcolor(1); //此处覆盖默认位置的棋子。
circle(100,50,9);
setcolor(15);
line(100,50,100,330);
line(100,50,380,50);
move.Circle(x,y,9);
move.draw();
line(x,50,x,330);
line(100,y,380,y);
if(exist(pane1,x,y)) //如果此处不存在棋子,执行下面的语句
{
if((ch2=getch())==32) //如果按的是空格键,则执行下面的语句
{
player1.Circle(x,y,7);player1.draw(); //画出了玩家1的棋子
q=(x-100)/20+15*(y-50)/20;
biaoji[q]=1;
win1();
pane1[a][0]=x;
pane1[a][1]=y;
a++; //给全局数组赋值
}
else //如果不是空格键,执行下面的语句
{
if(ch2=='q')
{
closegraph();
exit(1);
} //ch2为q键,退出游戏
if((ch2=='a')||(ch2=='s')||(ch2=='d')||(ch2=='x'))
{
ch1=ch2;
goto loop;
}
else
{
sound.sound1();goto loop1;
}
}
}
else //此处存在棋子执行下面的语句
{
if((ch2=getch())==32) //如果按的是空格键,则执行下面的语句
{
sound.sound1();
goto loop1;
}
else //如果按的不是空格键
{
if(ch2=='q')
{
closegraph();
exit(1);
} //ch2为q键,退出游戏
ch1=ch2;
goto loop;
}
}
break;
case 's': y=y-20;
if(y<50)
{
y=y+20;
sound.sound1();
goto loop1;
} //如果超出棋盘范围发出声音,重新走棋
cover.Circle(x,y+20,9);
cover.draw();
line(x,50,x,330);
line(100,y+20,380,y+20);
switch(ch2)
{
case 'a': cover.Circle(x+20,y,9);
cover.draw();
line(x+20,50,x+20,330);
line(100,y,380,y);
break;
case 'd': cover.Circle(x-20,y,9);
cover.draw();
line(x-20,50,x-20,330);
line(100,y,380,y);
break;
case 's': cover.Circle(x,y+20,9);
cover.draw();
line(x,50,x,330);
line(100,y+20,380,y+20);
break;
case 'x': cover.Circle(x,y-20,9);
cover.draw();
line(x,50,x,330);
line(100,y-20,380,y-20);
break;
}
move.Circle(x,y,9);
move.draw();
line(x,50,x,330);
line(100,y,380,y);
if(exist(pane1,x,y)) //如果此处不存在棋子,执行下面的语句
{
if((ch2=getch())==32) //如果按的是空格键,则执行下面的语句
{
player1.Circle(x,y,7);player1.draw(); //画出了玩家1的棋子
q=(x-100)/20+15*(y-50)/20;
biaoji[q]=1;
win1();
pane1[a][0]=x;
pane1[a][1]=y;
a++; //给全局数组赋值
}
else //如果不是空格键,执行下面的语句
{
if(ch2=='q')
{
closegraph();
exit(1);
} //为q键,退出游戏
if((ch2=='a')||(ch2=='s')||(ch2=='d')||(ch2=='x'))
{
ch1=ch2;
goto loop;
}
else
{
sound.sound1();
goto loop1;
}
}
}
else //此处存在棋子执行下面的语句
{
if((ch2=getch())==32) //如果按的是空格键,则执行下面的语句
{
sound.sound1();
goto loop1;
}
else //如果按的不是空格键
{
if(ch2=='q')
{
closegraph();
exit(1);
} //ch2为q键,退出游戏
ch1=ch2;
goto loop;
}
}
break;
case 'x': y=y+20;
if(y>330)
{
y=y-20;
sound.sound1();
goto loop1;
} //如果超出棋盘范围发出声音,重新走棋
cover.Circle(x,y-20,9);
cover.draw();
line(x,50,x,330);
line(100,y-20,380,y-20);
switch(ch2)
{
case 'a': cover.Circle(x+20,y,9);
cover.draw();
line(x+20,50,x+20,330);
line(100,y,380,y);
break;
case 'd': cover.Circle(x-20,y,9);
cover.draw();
line(x-20,50,x-20,330);
line(100,y,380,y);
break;
case 's': cover.Circle(x,y+20,9);
cover.draw();
line(x,50,x,330);
line(100,y+20,380,y+20);break;
case 'x': cover.Circle(x,y-20,9);
cover.draw();
line(x,50,x,330);
line(100,y-20,380,y-20);break;
}
setcolor(1);
circle(100,50,9);
setcolor(15);
line(100,50,100,330);
line(100,50,380,50);
move.Circle(x,y,9);
move.draw();
line(x,50,x,330);
line(100,y,380,y);
if(exist(pane1,x,y)) //如果此处不存在棋子,执行下面的语句
{
if((ch2=getch())==32) //如果按的是空格键,则执行下面的语句
{
player1.Circle(x,y,7);player1.draw(); //画出了玩家1的棋子
q=(x-100)/20+15*(y-50)/20;
biaoji[q]=1;
win1();
pane1[a][0]=x;
pane1[a][1]=y;
a++; //给全局数组赋值
}
else //如果不是空格键,执行下面的语句
{
if(ch2=='q')
{
closegraph();
exit(1);
} //为q键,退出游戏
if((ch2=='a')||(ch2=='s')||(ch2=='d')||(ch2=='x'))
{
ch1=ch2;
goto loop;
}
else
{
sound.sound1();
goto loop1;
}
}
}
else //此处存在棋子执行下面的语句
{
if((ch2=getch())==32) //如果按的是空格键,则执行下面的语句
{
sound.sound1();
goto loop1;
}
else //如果按的不是空格键
{
if(ch2=='q')
{
closegraph();
exit(1);
} //ch2为q键,退出游戏
ch1=ch2;
goto loop;
}
}
break;
default: if(ch1=='q')
{
closegraph();
exit(1);
} //ch1为q键,退出游戏
if((j==0)&&(ch1==32))
{
player1.Circle(x,y,7);
player1.draw();
q=(x-100)/20+15*(y-50)/20;
biaoji[q]=1;
win1();
pane1[a][0]=x;
pane1[a][1]=y;
a++;
}
else
{
sound.sound1();
goto loop1;
}
}
}
else
{
loop2:
ch1=getch();
loop3:
switch(ch1)
{
case 52: x=x-20;
if(x<100)
{
x=x+20;
sound.sound1();
goto loop2;
} //如果超出棋盘范围发出声音,重新走棋
cover.Circle(x+20,y,9);
cover.draw();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -