📄 pvsp.h
字号:
#include "head.h"
/*头文件、常量定义*/
void pvsP(void)/*人人对战函数*/
{
int key,i,j;
int ch;
for(i=0;i<SIZE;i++) /* 初始化棋盘 */
for(j=0;j<SIZE;j++)
hb.a[i][j]=0;
hb.a[3][3] = 2; /* 初始化开始的四个棋子 */
hb.a[4][4] = 2;
hb.a[4][3] = 1;
hb.a[3][4] = 1;
drawQZ(getX(3),getY(3),15);
drawQZ(getX(4),getY(4),15);
drawQZ(getX(4),getY(3),8);
drawQZ(getX(3),getY(4),8);
hb.x = 2; /* 初始化光标位置 */
hb.y = 2;
hb.read = 8;/* 表示黑棋先走 */
hb.s1=2;/* 初始化分数为0 */
hb.s2=2;
dispMouse(getX(hb.x),getY(hb.y),7);/* 画出光标的位置 */
while(1)/* 开始游戏 */
{
if(hb.read==8)/* 如果没有移动力,则将句柄交给对手 */
{
if(!moveTimes(1))
{
hb.read=15;
continue;
}
}
else if(hb.read==15)
{
if(!moveTimes(2))
{
hb.read = 8;
continue;
}
}
key = bioskey(0);
if(key == ESC)
{
if(judgeYorN()==0)
break;
}
else if(hb.read==8&&(key==UP||key==DOWN||key==RIGHT||key==LEFT||key==ENTER))
{
if(key==UP||key==DOWN||key==RIGHT||key==LEFT)
{
dispMouse(getX(hb.x),getY(hb.y),0);
if(key == UP && hb.y > 0)
hb.y--;
else if(key == DOWN && hb.y < (SIZE-1))
hb.y++;
else if(key == LEFT && hb.x > 0)
hb.x--;
else if(key == RIGHT && hb.x <(SIZE-1))
hb.x++;
dispMouse(getX(hb.x),getY(hb.y),15);
}
else if(key==ENTER&&hb.a[hb.x][hb.y]==0)
{
if(ch = judgeEnter(hb.x,hb.y,1))
{
drawLast(hb.x,hb.y,1);
hb.read = 15; /* 将句柄交给对手 */
hb.a[hb.x][hb.y] = 1;/* 标志出该位置已经有黑棋 */
hb.s1+=ch+1;/* 处理玩家的分数 */
hb.s2-=ch;
printScore(); /* 打印分数 */
if(ch=judgeGameover())
{
Gameover(ch);
if(judgeYorN())
{
cleardevice();/* 清屏函数 */
playFace();
playGame();
}
else
break;
}
continue;
}
}
}
else if(hb.read==15&&(key==W||key==S||key==D||key==A||key==SPACE))
{
if(key==W||key==S||key==D||key==A)
{
dispMouse(getX(hb.x),getY(hb.y),0);
if(key == W && hb.y > 0)
hb.y--;
else if(key == S && hb.y < (SIZE-1))
hb.y++;
else if(key == A && hb.x > 0)
hb.x--;
else if(key == D && hb.x <(SIZE-1))
hb.x++;
dispMouse(getX(hb.x),getY(hb.y),15);
}
else if(key==SPACE&&hb.a[hb.x][hb.y]==0)
{
if(ch = judgeEnter(hb.x,hb.y,2))
{
drawLast(hb.x,hb.y,2);
hb.read = 8; /* 将句柄交给对手 */
hb.a[hb.x][hb.y] = 2;/* 标志出该位置已经有黑棋 */
hb.s2+=ch+1;/* 处理玩家的分数 */
hb.s1-=ch;
printScore();
if(ch=judgeGameover())
{
Gameover(ch);
if(judgeYorN())
{
cleardevice();/* 清屏函数 */
playFace();
playGame();
}
else
break;
}
continue;
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -