你好,我还是一个初学者,当谈到编程,我一直在工作的跳棋游戏。但是,我们不能使用'打破'到我们的程序,除非如果它的开关情况。我怎么能修改我的工作?我已经尝试循环使用它的同时。
int validateMove(int x1 , int y1)
{
int a , b;
printf( "Available coordinates to send the piece are: \n" ) ;
a=1, b=1;
while(board[x1-a][y1+b] == ' ')
{
if((x1-a)==-1 || (y1+b)==8)
break;
printf("%d%d , ", x1-a , y1+b);
a++;
b++;
}
a=1 , b=1;
while(board[x1+a][y1-b] == ' ')
{
if((x1+a)==8 || (y1-b)==-1)
break;
printf("%d%d , ", x1+a, y1-b);
a++;
b++;
}
a=1 , b=1;
while(board[x1+a][y1+b] == ' ')
{
if((x1+a)==8 || (y1+b)==8)
break;
printf("%d%d , ",x1+a, y1+b);
a++;
b++;
}
a=1;
b=1;
while(board[x1-a][y1-b] == ' ')
{
if((x1-a)==-1 || (y1-b)==-1)
break;
printf("%d%d , ", x1-a, y1-b);
a++;
b++;
}
}
1条答案
按热度按时间ftf50wuq1#
您只提供了一个代码片段,因此尚未进行测试。
validateMove()
不返回任何内容,因此我将返回类型从int
更改为void
。考虑为您的幻值' '引入一个常量,例如:我会提取一个函数,而不是重复4次。
return
是break
的合适替代:然后我将这4行4个值提取到一个表
t
中,并在一个循环中运行它。