fillellipse(x,y,15,15);
key=bioskey(0);/*接收按键*/
if(key==ESC)/*跳出游戏*/
break;
if(key==ENTER)/*如果按键确定就可以跳出循环*/
if(y!=80&&a[(x-120)/40][(y-120)/40]!=1
&&a[(x-120)/40][(y-120)/40]!=2)/*如果落子位置没有棋子*/
if(t%2==1)/*如果是棋手1移动*/
a[(x-120)/40][(y-120)/40]=1;
else/*否则棋手2移动*/
a[(x-120)/40][(y-120)/40]=2;
if(!QpChange(x,y,t))/*落子后判断棋盘的变化*/
a[(x-120)/40][(y-120)/40]=0;/*恢复空格状态*/
cc++;/*开始统计尝试次数*/
if(cc>=64-score1-score2)/*如果尝试超过空格数则停步*/
MoveColor(x,y);
fillellipse(x,y,15,15);
break;
continue;/*如果按键无效*/
DoScore();/*分数的改变*/
break;/*棋盘变化了,则轮对方走棋*/
else/*已经有棋子就继续按键*/
continue;
else/*四个方向按键的判断*/
if(key==LEFT&&x>120)/*左方向键*/
MoveColor(x,y);
fillellipse(x,y,15,15);
SetPlayColor(t);
x-=40;
fillellipse(x,y,15,15);
if(key==RIGHT&&x<400&&y>80)/*右方向键*/
MoveColor(x,y);
fillellipse(x,y,15,15);
SetPlayColor(t);
x+=40;
fillellipse(x,y,15,15);
if(key==UP&&y>120)/*上方向键*/
MoveColor(x,y);
fillellipse(x,y,15,15);
SetPlayColor(t);
y-=40;
fillellipse(x,y,15,15);
if(key==DOWN&&y<400)/*下方向键*/
MoveColor(x,y);
fillellipse(x,y,15,15);
SetPlayColor(t);
y+=40;
fillellipse(x,y,15,15);
if(key==ESC)/*结束游戏*/
break;
if((score1+score2)==64||score1==0||score2==0)/*格子已经占满或一方棋子为0判断胜负*/
playWin();/*输出最后结果*/
break;
t=t%2+1;/*一方走后,改变棋子颜色即轮对方走*/
cc=0;/*计数值恢复为0*/
}/*endwhile*/
voidSetPlayColor(intt)/*设置棋子颜色*/
if(t%2==1)
setfillstyle(SOLID_FILL,15);/*白色*/
setfillstyle(SOLID_FILL,8);/*灰色*/
voidMoveColor(intx,inty)/*走了一步后恢复原来格子的状态*/
if(y<100)/*如果是从起点出发就恢复蓝色*/
setfillstyle(SOLID_FILL,BLUE);
else/*其他情况如果是1就恢复白色棋子,2恢复黑色棋子,或恢复蓝色棋盘*/
switch(a[(x-120)/40][(y-120)/40])
case1:
setfillstyle(SOLID_FILL,15);break;/*白色*/
case2:
setfillstyle(SOLID_FILL,8);break;/*黑色*/
default:
setfillstyle(SOLID_FILL,BLUE);/*蓝色*/
intQpChange(intx,inty,intt)/*判断棋盘的变化*/
inti,j,k,kk,ii,jj,yes;
yes=0;
i=(x-120)/40;/*计算数组元素的行下标*/
j=(y-120)/40;/*计算数组元素的列下标*/
SetPlayColor(t);/*设置棋子变化的颜色*/
/*开始往8个方向判断变化*/
if(j<6)/*往右边*/
for(k=j+1;k<8;k++)
if(a[i][k]==a[i][j]||a[i][k]==0)/*遇到自己的棋子或空格结束*/
break;
if(a[i][k]!=0&&k<8)
for(kk=j+1;kk
fillellipse(120+i*40,120+kk*40,15,15);
if(kk!=j+1)/*条件成立则有棋子改变过颜色*/
yes=1;
if(j>1)/*判断左边*/
for(k=j-1;k>=0;k–)
if(a[i][k]==a[i][j]||!a[i][k])
break;
if(a[i][k]!=0&&k>=0)
for(kk=j-1;kk>k&&k>=0;kk–)
a[i][kk]=a[i][j];
fillellipse(120+i*40,120+kk*40,15,15);
if(kk!=j-1)
yes=1;
if(i<6)/*判断下边*/
for(k=i+1;k<8;k++)
if(a[k][j]==a[i][j]||!a[k][j])
break;
if(a[k][j]!=0&&k<8)
for(kk=i+1;kk
fillellipse(120+kk*40,120+j*40,15,15);
if(kk!=i+1)
yes=1;
if(i>1)/*判断上边*/
相关经验推荐
- 女性容易祸从口出,想要健康就要忌口
- 空心病,你有吗?
- |还哪是手机,就是一部能打电话的游戏机罢了!
- 编程入门自学软件 电脑编程入门
- 漂亮女生游戏昵称_K→p_潞扣,那抹、红色忧伤屺
- LG|vivo X Fold性能体验:商务旗舰也能兼顾游戏体验
- 一岁前小宝宝的心理活动
- tt语音游戏中心不见了
- 每天睡前运动10分钟,从此跟“小肚腩”说掰掰!
- 宝宝从小自信的28种方法